.page-shell.cw-page{isolation:isolate;max-width:1120px;padding-top:8px;position:relative}.cw-page{--cw-morning:#ea580c;--cw-afternoon:#2563eb;--cw-split:#7c3aed;--cw-manual:#0d9488;--cw-cell-min:76px;--cw-cell-gap:8px;--cw-surface:#ffffffeb;--cw-surface-2:linear-gradient(165deg, #fff 0%, #f4f8fc 100%);--cw-border:var(--border-subtle);--cw-border-strong:var(--border-strong);--cw-glow:0 4px 24px #0d6bce1c;--cw-glow-hover:0 12px 32px #0d6bce29;position:relative}.cw-page:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(80% 70% at 30% 20%,#0d6bce24,#0000 58%),radial-gradient(55% 50% at 95% 15%,#7c3aed17,#0000 52%),radial-gradient(50% 45% at 50% 90%,#0d6bce0f,#0000 50%);width:min(140vw,1400px);height:520px;position:absolute;top:-120px;left:50%;transform:translate(-50%)}.cw-toolbar{border-radius:var(--radius-lg,22px);background:var(--cw-surface);box-shadow:var(--shadow), 0 0 0 1px var(--cw-border);-webkit-backdrop-filter:blur(14px);border:1px solid #ffffffb3;margin-bottom:22px;padding:22px 24px 20px}.cw-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:4px;padding-bottom:20px;display:flex;position:relative}.cw-header:after{content:"";background:linear-gradient(90deg,#0d6bce47 0%,#0d6bce0f 42%,#9849b62e 100%);border-radius:2px;height:1px;position:absolute;bottom:0;left:0;right:0}.cw-header-titles{flex-direction:column;gap:6px;display:flex}.cw-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--primary);opacity:.85;font-size:.7rem;font-weight:700}.cw-title{letter-spacing:-.035em;background:linear-gradient(100deg, var(--text) 0%, var(--primary) 48%, var(--primary-hover) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.45rem,4vw,1.75rem);font-weight:800;line-height:1.15}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.cw-title{color:var(--text);background:0 0}}.cw-month-row{border:1px solid var(--cw-border);background:linear-gradient(135deg,#d8e9f7a6 0%,#ffffffe6 100%);border-radius:999px;align-items:center;gap:10px;padding:6px 8px;display:flex;box-shadow:inset 0 1px #ffffffe6}.cw-month-label{color:var(--text);text-align:center;letter-spacing:-.02em;min-width:9.5em;margin:0;font-size:.95rem;font-weight:700}.cw-nav-btn{background:var(--white);width:42px;height:42px;color:var(--primary);cursor:pointer;box-shadow:0 2px 8px #0f223314, 0 0 0 1px var(--cw-border);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.15rem;line-height:1;transition:transform .18s,box-shadow .18s,background .18s,color .18s;display:inline-flex}.cw-nav-btn:hover{box-shadow:var(--cw-glow-hover);background:var(--primary-soft);color:var(--text);transform:scale(1.06)}.cw-nav-btn:active{transform:scale(.98)}.cw-nav-btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.cw-filters-bar{flex-direction:column;gap:16px;padding-top:18px;display:flex}.cw-filters-row{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.cw-filters-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);min-width:4.5rem;margin-right:2px;font-size:.72rem;font-weight:800}.cw-toggle-strip{border-radius:var(--radius-md,16px);border:1px solid var(--cw-border);background:#d8e9f759;flex-wrap:wrap;flex:1;align-items:center;gap:10px 16px;min-width:min(100%,280px);padding:12px 14px;display:flex}.cw-toggle-strip .calendar-highlight-toggle-row{margin:0}.cw-toggle-strip .calendar-highlight-toggle-label{color:var(--text);font-size:.78rem;font-weight:600}.cw-loading{color:var(--primary);background:#d8e9f780;border-radius:12px;margin:10px 0 14px;padding:10px 16px;font-size:.88rem;font-weight:600;animation:1.6s ease-in-out infinite cw-pulse;display:inline-block}@keyframes cw-pulse{0%,to{opacity:1}50%{opacity:.65}}.cw-grid-wrap{border-radius:var(--radius-lg,22px);background:var(--cw-surface);box-shadow:var(--shadow), var(--cw-glow);-webkit-backdrop-filter:blur(12px);border:1px solid #ffffffbf;padding:18px 16px 20px}.cw-weekday-row{gap:var(--cw-cell-gap);grid-template-columns:repeat(7,1fr);margin-bottom:12px;padding:0 4px;display:grid}.cw-weekday-row span{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);opacity:.75;background:#d8e9f773;border-radius:10px;padding:8px 4px;font-size:.65rem;font-weight:800}.cw-grid{gap:var(--cw-cell-gap);grid-template-columns:repeat(7,1fr);display:grid}.cw-day{min-height:var(--cw-cell-min);border:1px solid var(--cw-border);background:var(--cw-surface-2);cursor:pointer;text-align:left;color:inherit;font:inherit;border-radius:14px;flex-direction:column;align-items:stretch;padding:10px 8px 8px;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;display:flex;position:relative;box-shadow:0 1px 3px #0f22330d}.cw-day:hover:not(:disabled){border-color:var(--cw-border-strong);box-shadow:var(--cw-glow-hover);transform:translateY(-2px)}.cw-day:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.cw-day--empty{cursor:default;box-shadow:none;min-height:var(--cw-cell-min);pointer-events:none;background:0 0;border-color:#0000}.cw-day--empty:hover{box-shadow:none;transform:none}.cw-day--today{box-shadow:0 0 0 2px var(--primary), 0 4px 16px #0d6bce33}.cw-day--selected{background:linear-gradient(160deg,#d8e9f7f2 0%,#fff 55%);border-color:#0d6bce61;box-shadow:0 0 0 2px #0d6bce47,0 8px 28px #0d6bce24}.cw-day--selected:hover:not(:disabled){transform:translateY(-2px)}.cw-day--conflict{background:linear-gradient(165deg,#fee2e2d9 0%,#fff7f7f2 100%);border-color:#d9302538}.cw-day--warning{background:linear-gradient(165deg,#fef9e7f2 0%,#fffdf5 100%);border-color:#c9a22740}.cw-day--hl-morning.cw-day--hl-morning-active{border-left:3px solid var(--cw-morning);padding-left:5px}.cw-day--hl-afternoon.cw-day--hl-afternoon-active{border-bottom:3px solid var(--cw-afternoon);padding-bottom:6px}.cw-day--hl-split.cw-day--hl-split-active{border-top:3px solid var(--cw-split);padding-top:7px}.cw-day--hl-manual.cw-day--hl-manual-active{border-right:3px solid var(--cw-manual);padding-right:5px}.cw-day-num-row{justify-content:space-between;align-items:flex-start;gap:4px;display:flex}.cw-day-num{color:var(--text);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800;line-height:1.2}.cw-day-badges{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.cw-warn-triangle{filter:drop-shadow(0 1px 1px #0000001f);font-size:.6rem;line-height:1}.cw-warn-triangle--conflict{color:var(--danger)}.cw-warn-triangle--disp{color:var(--warning-text)}.cw-day-dots{flex-wrap:wrap;align-content:flex-end;gap:5px;min-height:24px;margin-top:auto;padding-top:8px;display:flex}.cw-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 0 2px #fffffff2,0 2px 4px #0f22331f}.cw-dot-more{color:var(--muted);letter-spacing:-.02em;align-self:center;font-size:.68rem;font-weight:800;line-height:9px}.cw-details{border-radius:var(--radius-lg,22px);background:var(--cw-surface);box-shadow:var(--shadow), var(--cw-glow);-webkit-backdrop-filter:blur(12px);border:1px solid #ffffffbf;margin-top:22px;padding:22px 22px 24px}.cw-details-header{letter-spacing:-.03em;color:var(--text);border-bottom:1px solid var(--cw-border);margin:0 0 18px;padding-bottom:14px;font-size:1.15rem;font-weight:800}.cw-details-placeholder{color:var(--muted);margin:0;font-size:.94rem;line-height:1.5}.cw-detail-alert{border-radius:14px;margin-bottom:14px;padding:14px 16px;font-size:.9rem;box-shadow:0 2px 12px #0f22330a}.cw-detail-alert--conflict{background:linear-gradient(135deg, var(--danger-soft) 0%, #ffffffeb 100%);border:1px solid color-mix(in srgb, var(--danger) 24%, transparent)}.cw-detail-alert--warning{background:linear-gradient(135deg, var(--warning-soft) 0%, #fffffff5 100%);border:1px solid var(--warning-border)}.cw-detail-alert-kicker{letter-spacing:.1em;opacity:.9;margin-bottom:8px;font-size:.65rem;font-weight:800}.cw-detail-alert--conflict .cw-detail-alert-kicker{color:var(--danger-text)}.cw-detail-alert--warning .cw-detail-alert-kicker{color:var(--warning-text)}.cw-detail-alert-title{letter-spacing:-.02em;margin-bottom:6px;font-weight:800}.cw-detail-alert-text{color:var(--muted);font-size:.88rem;line-height:1.5}.cw-detail-list{flex-direction:column;gap:12px;display:flex}.cw-detail-row{border:1px solid var(--cw-border);background:linear-gradient(145deg,#fff 0%,#f4f8fce6 100%);border-radius:14px;grid-template-columns:1fr auto;align-items:baseline;gap:8px 16px;padding:14px 16px;transition:box-shadow .2s,border-color .2s,transform .2s;display:grid;box-shadow:0 2px 8px #0f22330a}.cw-detail-row:hover{border-color:var(--cw-border-strong);box-shadow:0 6px 20px #0d6bce1a}.cw-detail-user{color:var(--text);letter-spacing:-.02em;font-size:.95rem;font-weight:800}.cw-detail-code{color:var(--primary);border:1px solid var(--cw-border);background:#d8e9f7a6;border-radius:8px;justify-self:end;padding:4px 10px;font-family:ui-monospace,Cascadia Code,monospace;font-size:.8rem;font-weight:700}.cw-detail-time{color:var(--muted);grid-column:1/-1;font-size:.87rem;font-weight:600}.cw-detail-warn-inline{color:var(--warning-text);background:#f3d0a859;border-radius:10px;grid-column:1/-1;align-items:center;gap:8px;padding:8px 10px;font-size:.8rem;font-weight:600;display:flex}.cw-detail-note{color:var(--muted);grid-column:1/-1;font-size:.82rem;font-style:italic;line-height:1.45}@media (width>=720px){.cw-page{--cw-cell-min:92px;--cw-cell-gap:10px}.cw-day-num{font-size:1.12rem}.cw-dot{width:10px;height:10px}}@media (width>=960px){.cw-page{--cw-cell-min:104px}}@media (prefers-reduced-motion:reduce){.cw-day,.cw-nav-btn,.cw-detail-row{transition:none}.cw-day:hover:not(:disabled),.cw-nav-btn:hover{transform:none}.cw-loading{animation:none}}:root{--bg:#f5f9fc;--bg-section:#e7f0f8;--bg-hover:#d7e8f5;--bg-active:#c5ddf0;--surface-card:#fff;--card:var(--bg-section);--white:#fff;--text:#0a1628;--muted:#4d5f70;--primary:#0d6bce;--primary-hover:#0958a8;--primary-mid:#1e7cd6;--primary-soft:#c8e4fc;--primary-soft-strong:#a8d4f8;--accent:#ea580c;--accent-soft:#fff4ed;--accent-bg:#ffedd5;--accent-border:#ea580c59;--partner:#7c3aed;--partner-soft:#ede9fe;--warning:#fde047;--warning-soft:#fef9c3;--warning-text:#854d0e;--warning-border:#ca8a0473;--danger:#dc2626;--danger-soft:#fee2e2;--danger-text:#991b1b;--overlap:var(--accent);--success:#16a34a;--success-soft:#dcfce7;--border-subtle:#0a28481a;--border-strong:#0a284829;--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--shadow-sm:0 1px 3px #0a284812;--shadow:0 10px 28px #0a28481a;--shadow-md:0 16px 40px #0a28481f;--shadow-card:var(--shadow-sm), 0 0 0 1px var(--border-subtle);--top-header-bg:linear-gradient(180deg, #fff 0%, #f2f8fc 48%, #edf4fa 100%);--top-header-bg-solid:#f1f7fb;--top-header-border:#0d6bce24;--top-header-shadow:0 4px 14px #0a284817;--app-header-offset:64px;font-family:Inter,system-ui,Arial,sans-serif}*{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body,#root{min-height:100%;margin:0}html{scroll-padding-top:var(--app-header-offset)}body{background:var(--bg);color:var(--text)}button{font:inherit}.app-shell{min-height:100vh;padding:20px 16px 40px}.app-container{max-width:430px;margin:0 auto}.app-container-wide{max-width:1180px}.topbar{z-index:100;justify-content:space-between;align-items:center;margin-bottom:36px;display:flex;position:relative}.brand{align-items:center;gap:12px;display:flex}.brand-icon{background:linear-gradient(145deg, var(--primary-hover) 0%, #062a52 100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.brand-title{color:var(--primary);letter-spacing:-.02em;font-size:1.1rem;font-weight:700}.icon-button{cursor:pointer;background:0 0;border:none;font-size:20px}.topbar-notifications{flex-shrink:0;position:relative}.icon-button--bell{border-radius:12px;padding:6px 8px;line-height:1;position:relative}.icon-button--bell:hover{background:#0d6bce14}.notification-badge{background:var(--danger);color:#fff;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--bg);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:800;line-height:1;display:flex;position:absolute;top:0;right:0}.notification-panel{background:var(--white);border:1px solid #142a3c14;border-radius:20px;flex-direction:column;width:min(380px,100vw - 28px);max-height:min(480px,72vh);display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 20px 48px #142a3c2e}.notification-panel-head{border-bottom:1px solid #142a3c14;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 12px;display:flex}.notification-panel-title{letter-spacing:-.02em;color:var(--text);font-size:.95rem;font-weight:800}.notification-panel-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;margin:-4px -6px -4px 0;padding:4px 8px;font-size:1.35rem;line-height:1}.notification-panel-close:hover{color:var(--text);background:#142a3c0f}.notification-panel-body{flex-direction:column;gap:8px;padding:10px 12px 14px;display:flex;overflow-y:auto}.notification-empty{color:var(--muted);margin:12px 6px 8px;font-size:.88rem;line-height:1.45}.notification-item{text-align:left;cursor:pointer;width:100%;font:inherit;border:none;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;transition:background .15s;display:flex}.notification-item:hover{background:var(--bg-hover)}.notification-item--conflict{background:linear-gradient(#fff5f5 0%,#fff 100%);box-shadow:inset 0 0 0 1px #d9302533}.notification-item--conflict:hover{background:linear-gradient(#ffecec 0%,#fff8f8 100%)}.notification-item--warning{background:linear-gradient(#fffbf4 0%,#fff 100%);box-shadow:inset 0 0 0 1px #c8963c40}.notification-item--warning:hover{background:linear-gradient(#fff3e0 0%,#fffaf5 100%)}.notification-item-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.65rem;font-weight:800}.notification-item--conflict .notification-item-kicker{color:#c5221f}.notification-item--warning .notification-item-kicker{color:#8a5a00}.notification-item-date{color:var(--primary);font-size:.8rem;font-weight:700}.notification-item-title{color:var(--text);font-size:.92rem;font-weight:700}.notification-item-body{color:var(--muted);font-size:.82rem;line-height:1.4}.section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-bottom:10px;font-size:.82rem;font-weight:700}.calendar-detail-layout{gap:20px;margin-bottom:26px;display:grid}.calendar-with-nav{grid-template-columns:minmax(22px,28px) minmax(0,1fr) minmax(22px,28px);align-items:stretch;gap:4px;min-width:0;display:grid}.calendar-nav-arrow{box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-self:stretch;align-items:center;padding:0;font-size:1.35rem;font-weight:400;line-height:1;transition:background .14s,color .14s,opacity .14s;display:flex}.calendar-nav-arrow:hover{color:var(--primary);background:#0d6bce14}.calendar-nav-arrow:active{opacity:.75}.calendar-nav-arrow:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.calendar-right-column{flex-direction:column;gap:14px;min-width:0;display:flex}.calendar-filters-panel{box-shadow:var(--shadow);background:#ffffffe0;border-radius:22px;padding:12px 14px 14px}.calendar-filters-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:0;display:flex}.calendar-filters-panel--open .calendar-filters-header{margin-bottom:10px}.calendar-filters-title-row{align-items:center;gap:8px;min-width:0;display:flex}.calendar-filters-title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:.95rem;font-weight:700}.calendar-filters-active-hint{text-transform:uppercase;letter-spacing:.04em;color:var(--primary);background:var(--primary-soft);border-radius:999px;flex-shrink:0;padding:3px 7px;font-size:.65rem;font-weight:700}.calendar-filters-reveal-btn{font:inherit;color:var(--text);cursor:pointer;background:#f7fafc;border:1px solid #d5dee8;border-radius:999px;flex-shrink:0;padding:6px 11px;font-size:.78rem;font-weight:700;transition:background .15s,border-color .15s}.calendar-filters-reveal-btn:hover{background:#eef4f9;border-color:#c5d2e0}.calendar-filters-body{padding-top:2px}.calendar-filters-groups{flex-direction:column;gap:10px;display:flex}.calendar-filters-group{border:1px solid #0000;border-radius:14px;padding:8px 10px 10px}.calendar-filters-group-title{text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;font-size:.72rem;font-weight:800}.calendar-highlight-toggles--in-group{border:none;gap:5px;margin:0;padding:0}.calendar-left{flex-direction:column;align-items:stretch;width:100%;display:flex}.calendar-card{background:var(--surface-card);box-shadow:var(--shadow-sm), var(--shadow);border:1px solid var(--border-subtle);border-radius:30px;height:fit-content;padding:22px 18px 18px}.calendar-card-large{width:100%;min-width:0}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.calendar-header h2{letter-spacing:-.03em;margin:0;font-size:1.5rem}.legend-inline{text-transform:uppercase;color:#516170;align-items:center;gap:14px;font-size:.82rem;font-weight:700;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.calendar-highlight-toggles{border-top:1px solid #142a3c14;flex-direction:column;gap:14px;margin-top:20px;padding-top:18px;display:flex}.calendar-highlight-toggles--compact{border-top:none;gap:6px;margin-top:0;padding-top:0}.calendar-highlight-toggle-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-highlight-toggle-row--compact{gap:8px}.calendar-highlight-toggle-label{color:var(--text);cursor:pointer;flex:1;min-width:0;font-size:.9rem;font-weight:600}.ios-toggle{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;padding:0}.ios-toggle-track{--toggle-on-bg:#2ecc71;background:#8e8e93;border-radius:999px;width:72px;height:34px;transition:background .22s;display:block;position:relative;box-shadow:inset 0 2px 5px #00000038,inset 0 -1px 2px #ffffff1f}.ios-toggle--on .ios-toggle-track{background:var(--toggle-on-bg)}.ios-toggle-knob{background:linear-gradient(#fff 0%,#e8e8ea 100%);border-radius:50%;width:30px;height:30px;transition:transform .22s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #00000047,inset 0 1px #ffffffd9}.ios-toggle--on .ios-toggle-knob{transform:translate(38px)}.calendar-highlight-toggles--compact .calendar-highlight-toggle-label{font-size:.78rem;font-weight:600;line-height:1.2}.calendar-highlight-toggles--compact .ios-toggle-track{width:48px;height:26px}.calendar-highlight-toggles--compact .ios-toggle-knob{width:22px;height:22px;top:2px;left:2px;box-shadow:0 1px 4px #00000042,inset 0 1px #ffffffd9}.calendar-highlight-toggles--compact .ios-toggle--on .ios-toggle-knob{transform:translate(22px)}.calendar-day-shift-highlight{position:relative}.settings-card{border-radius:var(--radius-xl);box-shadow:var(--shadow);background:#ffffffeb;max-width:520px;margin-top:24px;padding:24px}.settings-card--colors{max-width:300px;margin-top:14px;padding:14px 16px 12px}.settings-card--colors .settings-card-title{margin-bottom:4px;font-size:1.05rem}.settings-card--colors .settings-card-lead{margin-bottom:10px;font-size:.82rem;line-height:1.35}.settings-card-title{letter-spacing:-.02em;margin:0 0 8px;font-size:1.25rem}.settings-card-lead{color:var(--muted);margin:0 0 20px;font-size:.95rem;line-height:1.45}.settings-color-field{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.settings-color-field:last-child{margin-bottom:0}.settings-color-label{font-size:.88rem;font-weight:600}.settings-color-input{background:var(--white);cursor:pointer;border:1px solid #d5dee8;border-radius:8px;flex-shrink:0;width:44px;height:30px;padding:2px}.dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.weekday-row{grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:12px;display:grid}.weekday-row span{text-align:center;color:var(--muted);font-size:.8rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:10px;display:grid}.calendar-grid-large{gap:12px}.calendar-day{background:var(--white);text-align:left;cursor:pointer;border:none;border-radius:14px;flex-direction:column;justify-content:space-between;min-height:104px;padding:10px 8px;transition:transform .18s,box-shadow .18s,background .18s;display:flex;position:relative}.day-number{color:var(--text);font-size:1rem;font-weight:700}.calendar-day-number-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:4px;width:100%;display:flex}.calendar-day-add-btn{width:16px;height:16px;color:var(--primary);cursor:pointer;background:#0d6bce24;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;margin:0 3px 0 0;padding:0;font-family:inherit;font-size:.72rem;font-weight:800;line-height:1;transition:background .15s,transform .12s;display:inline-flex}.calendar-day-add-btn:hover{background:#0d6bce42}.calendar-day-add-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.calendar-day-add-btn:active{transform:scale(.92)}.calendar-day-conflict .calendar-day-add-btn{color:#ae261e;background:#d930251f}.calendar-day-conflict .calendar-day-add-btn:hover{background:#d9302533}.calendar-day-together .calendar-day-add-btn{color:#1f7a42;background:#1f7a421f}.calendar-day-together .calendar-day-add-btn:hover{background:#1f7a4238}.calendar-bottom-indicators{align-items:center;gap:6px;min-height:12px;display:flex}.calendar-heart-indicator{font-size:14px;line-height:1;position:absolute;top:8px;right:8px}.calendar-warning-indicator{font-size:14px;line-height:1;position:absolute;top:6px;right:8px}.conflict-indicator{color:#d93025}.warning-indicator{color:#f2c94c}.calendar-day-together .day-number{color:#1f7a42}.calendar-day-conflict{background:linear-gradient(#ffe8e6 0%,#fff5f5 55%,#fff 100%);border:1px solid #d9302538}.calendar-day-conflict .day-number{color:#ae261e}.calendar-day-disp{background:linear-gradient(#fffbf2 0%,#fff 100%);box-shadow:inset 0 0 0 2px #f2c94c73}.calendar-day:hover{box-shadow:0 10px 18px #142a3c12}.calendar-day.selected{outline:2px solid var(--primary);outline-offset:0}.calendar-day-conflict.selected{outline:2px solid #d93025}.calendar-day-together.selected{outline:2px solid #2ca658}.calendar-day-large{min-height:104px}.day-number{font-size:1rem;font-weight:700}.me-text{color:var(--primary)}.partner-text{color:var(--partner)}.day-detail-panel{box-shadow:var(--shadow);background:#ffffffe0;border-radius:28px;padding:22px;animation:.28s detailFade}@keyframes detailFade{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.detail-header{margin-bottom:16px}.detail-kicker{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:.8rem;font-weight:700}.detail-header h3{letter-spacing:-.03em;margin:0;font-size:1.6rem}.detail-events{gap:14px;display:grid}.detail-event-card{background:#f9fcff;border-radius:18px;padding:16px}.detail-event-top{justify-content:flex-end;margin-bottom:10px;display:flex}.owner-chip{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;padding:6px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.detail-event-title{margin-bottom:8px;font-size:1.15rem;font-weight:700}.detail-event-time{color:var(--text);margin-bottom:8px;font-size:.96rem}.detail-event-note{color:var(--muted);font-size:.92rem}.empty-detail{color:var(--muted);background:#f9fcff;border-radius:18px;padding:18px}.next-three-section{margin-top:10px;margin-bottom:24px}.next-three-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.next-three-header h2{letter-spacing:-.04em;margin:0;font-size:2rem}.text-link{color:var(--primary);cursor:pointer;background:0 0;border:none;font-weight:600}.next-three-list{gap:18px;display:grid}.next-card{box-shadow:var(--shadow);background:#fffffff0;border-radius:24px;padding:24px 24px 0;overflow:hidden}.next-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:28px;display:flex}.next-card-number{color:#c7ccd2;font-size:3rem;font-weight:700;line-height:.9}.next-card-weekday{color:var(--muted);text-transform:uppercase;margin-top:2px;font-size:.88rem;font-weight:700}.next-card-title{letter-spacing:-.03em;margin-bottom:10px;font-size:1.8rem;font-weight:700}.next-card-time{color:#3d4d5b;margin-bottom:18px;font-size:1.05rem}.next-card-accent{border-radius:999px 999px 0 0;height:8px;margin-top:16px}.legend-box{background:var(--primary-soft);box-shadow:var(--shadow);border-radius:24px;padding:20px}.legend-title{text-transform:uppercase;color:#5a6c7d;letter-spacing:.06em;margin-bottom:16px;font-size:.82rem;font-weight:700}.legend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.legend-entry{align-items:center;gap:10px;font-weight:600;display:flex}.legend-warning,.legend-heart{justify-content:center;width:18px;display:inline-flex}@media (width>=900px){.calendar-detail-layout{grid-template-columns:minmax(0,2fr) minmax(320px,.8fr);align-items:start}.next-three-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.app-container-wide{max-width:100%}.calendar-with-nav{grid-template-columns:minmax(20px,26px) minmax(0,1fr) minmax(20px,26px);gap:2px}.calendar-nav-arrow{border-radius:6px;font-size:1.2rem}.calendar-card{padding:18px 12px 14px}.calendar-grid-large{gap:8px}.calendar-day-large{min-height:86px;padding:8px 6px}.day-number{font-size:.92rem}.calendar-day-add-btn{border-radius:4px;width:15px;height:15px;margin-right:2px;font-size:.68rem}.shift-text{font-size:.68rem}.next-card{padding:18px 18px 0}.next-card-title{font-size:1.35rem}.next-card-number{font-size:2.4rem}.legend-grid{grid-template-columns:1fr}}.detail-date-line{align-items:center;gap:10px;display:flex}.detail-date-icon{font-size:1.1rem}.status-alert{border-left:4px solid #0000;border-radius:22px;margin-bottom:18px;padding:18px 18px 16px}.status-alert-kicker{letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;font-size:.82rem;font-weight:800}.status-alert-title{letter-spacing:-.03em;margin-bottom:8px;font-size:1.6rem;font-weight:700}.status-alert-text{font-size:.96rem;line-height:1.45}.status-alert-conflict{color:#b3261e;background:#f9ecec;border-left-color:#d93025}.status-alert-conflict .status-alert-title{color:#1f2b35}.status-alert-conflict .status-alert-text{color:#d46f6f}.status-alert-together{color:#1f7a42;background:#edf8f1;border-left-color:#2ca658}.status-alert-together .status-alert-title{color:#1f2b35}.status-alert-together .status-alert-text{color:#4d7c61}.detail-stacked-cards{gap:16px;display:grid}.person-shift-card{border-left:4px solid #0000;border-radius:20px;padding:18px}.person-shift-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.person-chip{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;padding:6px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.person-shift-time{color:#99a3ad;font-size:.95rem;font-weight:700}.person-shift-title{letter-spacing:-.03em;color:#405260;margin-bottom:8px;font-size:1.7rem;font-weight:700}.person-shift-note{color:var(--muted);font-size:1rem}.calendar-day-together{background:#edf8f1;border:1px solid #b8e0c5}.calendar-day-together .day-number,.calendar-day-together .shift-text{color:#1f7a42!important}.calendar-day-together.selected{background:#e3f4e9;outline:2px solid #2ca658}.legend-inline-box{background:var(--primary-soft);color:#2c3e50;border-radius:18px;flex-wrap:wrap;align-items:center;gap:18px;width:100%;margin-top:10px;padding:14px 18px;font-size:.9rem;display:flex}.legend-label{letter-spacing:.06em;color:#6b7c8c;font-size:.75rem;font-weight:700}.legend-item{align-items:center;gap:6px;font-weight:600;display:inline-flex}.legend-warning{color:#d93025;font-size:.9rem}.legend-heart{font-size:.9rem}.legend-line{border-radius:999px;width:18px;height:4px;display:inline-block}.overlap-line{background:#9f6400}.calendar-day-empty{box-shadow:none;cursor:default;background:0 0;border:none}.calendar-day.today{box-shadow:inset 0 0 0 2px #0d6bce59}.app-layout{background:var(--bg-section);z-index:0;min-height:100vh;padding-top:8px;padding-bottom:110px;position:relative}.app-page-content{z-index:0;width:100%;position:relative}.bottom-nav{z-index:1000;border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm), 0 18px 36px #0a284824;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;border-radius:26px;align-items:center;gap:10px;padding:10px 14px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.nav-item{color:#8391a3;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:84px;height:64px;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:flex}.nav-item.active{background:var(--bg-active);color:var(--primary);box-shadow:inset 0 0 0 1px #0d6bce38}.nav-icon{justify-content:center;align-items:center;width:22px;height:22px;font-size:18px;line-height:1;display:flex}.nav-label{font-size:12px;font-weight:600;line-height:1}.page-shell{max-width:980px;margin:0 auto;padding:28px 24px 32px}.page-header-block{margin-bottom:22px}.upload-page-card{background:var(--surface-card);box-shadow:var(--shadow-sm), var(--shadow);border:1px solid var(--border-subtle);border-radius:28px;padding:24px}.upload-dropzone-large{cursor:pointer;text-align:center;background:#f8fcff;border:2px dashed #0d6bce38;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:240px;padding:20px;display:flex}.upload-dropzone-large:hover{background:var(--bg-hover);border-color:#0d6bce52}.hidden-file-input{display:none}.upload-dropzone-icon{font-size:2rem}.upload-dropzone-title{color:var(--text);font-size:1.2rem;font-weight:700}.upload-dropzone-text{color:var(--muted)}.selected-file-box{background:#f4f9fd;border-radius:18px;margin-top:18px;padding:16px}.selected-file-label{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);margin-bottom:6px;font-size:.82rem;font-weight:700}.selected-file-name{font-size:1rem;font-weight:700}.selected-file-meta{color:var(--muted);margin-top:4px;font-size:.9rem}.primary-action-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:999px;margin-top:18px;padding:14px 20px;font-weight:700}.primary-action-button:disabled{opacity:.45;cursor:not-allowed}a.primary-action-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.turni-upload-hint{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.turni-hint-row{flex:1;align-items:flex-start;gap:12px;min-width:min(100%,220px);display:flex}.turni-hint-icon{font-size:1.6rem;line-height:1}.turni-hint-text{color:var(--muted);margin:6px 0 0;font-size:.9rem;line-height:1.45}.turni-hint-cta{flex-shrink:0;margin-top:0}.turni-pdf-section{margin-top:20px}.turni-pdf-lead{color:var(--muted);margin:0 0 16px;font-size:.9rem;line-height:1.5}.turni-pdf-lead code{background:#f0f4f8;border-radius:6px;padding:2px 6px;font-size:.82em}.turni-pdf-parse-report{background:#0f172a0a;border:1px solid #0f172a14;border-radius:10px;margin:0 0 12px;padding:10px 12px}.turni-pdf-parse-warnings{border-top:1px dashed #0f172a1f;margin-top:8px;padding-top:8px;font-size:.85em}.turni-pdf-outcome-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:800;display:inline-block}.turni-pdf-outcome-badge--ok{color:#166534;background:#16a34a1f}.turni-pdf-outcome-badge--warn{color:#9a3412;background:#d9770626}.turni-pdf-support-panel{background:linear-gradient(165deg,#fffbebf2,#fef3c780);border:1px solid #d9770659;border-radius:14px;margin:0 0 16px;padding:16px 14px 14px}.turni-pdf-support-panel__title{color:#9a3412;margin:0 0 8px;font-size:1rem;font-weight:800}.turni-pdf-support-panel__lead{color:#422006;margin:0 0 14px;font-size:.9rem;line-height:1.5}.turni-pdf-support-dl{gap:8px 12px;margin:0 0 12px;font-size:.82rem;display:grid}.turni-pdf-support-dl>div{grid-template-columns:minmax(120px,160px) 1fr;align-items:baseline;gap:8px;display:grid}.turni-pdf-support-dl dt{color:var(--muted);margin:0;font-weight:700}.turni-pdf-support-dl dd{word-break:break-word;margin:0}.turni-pdf-support-warnings{background:#ffffffa6;border:1px solid #0f172a14;border-radius:10px;margin:0 0 12px;padding:10px 10px 8px;font-size:.8rem}.turni-pdf-support-warnings__label{color:#713f12;margin-bottom:6px;font-weight:800}.turni-pdf-support-warnings ul{margin:0;padding-left:1.1rem}.turni-pdf-support-actions{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.turni-pdf-support-actions__btn{box-sizing:border-box;justify-content:center;align-items:center;margin:0;text-decoration:none;display:inline-flex}.turni-pdf-support-hint{color:var(--muted);margin:0 0 8px;font-size:.78rem}.turni-pdf-support-footnote{color:var(--muted);margin:10px 0 0;font-size:.72rem;line-height:1.45}.turni-pdf-file-label{cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.turni-pdf-file-btn{font:inherit;background:var(--primary-soft);color:var(--primary);border:1px solid #0d6bce33;border-radius:999px;padding:10px 16px;font-size:.85rem;font-weight:700}.turni-pdf-file-name{color:var(--text);font-size:.88rem}.turni-pdf-file-placeholder{color:var(--muted);font-size:.88rem}.turni-pdf-actions .primary-action-button{margin-top:0}.turni-pdf-error{margin-top:12px}.turni-pdf-debug-box{color:var(--text);background:#f0f6fb;border:1px dashed #0d6bce73;border-radius:14px;margin-top:14px;padding:12px 14px;font-size:.78rem;line-height:1.45}.turni-pdf-debug-box h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px;font-size:.72rem;font-weight:800}.turni-pdf-debug-box pre{white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #142a3c14;border-radius:10px;margin:8px 0 0;padding:10px;font-size:.72rem;overflow-x:auto}.turni-pdf-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:16px 0 10px;display:flex}.turni-pdf-count{color:var(--muted);font-size:.82rem;font-weight:700}.turni-pdf-toolbar-btns{gap:14px;display:flex}.turni-pdf-table-wrap{border:1px solid #142a3c14;border-radius:14px;margin-bottom:12px;overflow-x:auto}.turni-pdf-table{border-collapse:collapse;width:100%;font-size:.82rem}.turni-pdf-table th,.turni-pdf-table td{text-align:left;border-bottom:1px solid #142a3c0f;padding:10px 12px}.turni-pdf-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f7fafc;font-size:.68rem;font-weight:800}.turni-pdf-code{color:var(--primary);font-weight:800}.turni-pdf-variants{max-width:220px;line-height:1.35}.turni-pdf-warn{color:var(--muted);max-width:180px;font-size:.78rem}.turni-pdf-context-label{color:var(--text);margin-bottom:6px;font-size:.9rem;font-weight:700;display:block}.turni-pdf-merge-summary{color:#1b5e20;background:#e8f5e9;border-radius:14px;margin-top:12px;padding:12px 14px;font-size:.95rem;font-weight:600}.replace-dialog-backdrop{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#142a3c73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.replace-dialog-box{background:var(--white,#fff);border-radius:20px;width:min(440px,100%);padding:22px 24px;box-shadow:0 24px 48px #142a3c33}.replace-dialog-title{color:var(--text);margin:0 0 10px;font-size:1.15rem;font-weight:800}.replace-dialog-lead{color:var(--muted);margin:0 0 14px;font-size:.95rem;line-height:1.45}.replace-dialog-error{color:#b91c1c;margin:0 0 12px;font-size:.88rem;font-weight:600;line-height:1.4}.replace-dialog-codes{color:var(--text);max-height:160px;margin:0 0 16px;padding-left:18px;font-size:.9rem;overflow-y:auto}.replace-dialog-codes code{color:var(--primary);font-weight:700}.replace-dialog-actions{flex-direction:column;align-items:stretch;gap:10px;display:flex}.replace-dialog-actions .text-link{text-align:center;margin-top:4px}.replace-dialog-actions--two{flex-flow:wrap;gap:12px}.replace-dialog-actions--two .primary-action-button,.replace-dialog-actions--two .secondary-button{flex:1;min-width:120px}.turni-clear-all-wrap{margin-bottom:14px}.turni-owner-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.turni-owner-tab{color:var(--text);cursor:pointer;background:#fff;border:1px solid #0d6bce38;border-radius:999px;padding:10px 18px;font-size:.9rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.turni-owner-tab:hover{background:#f4f9fd;border-color:#0d6bce73}.turni-owner-tab--active{background:var(--primary);border-color:var(--primary);color:#fff}.upload-owner-tabs{margin-bottom:14px}.upload-owner-hint{color:var(--muted);margin:0 0 8px;font-size:.9rem}.turni-pdf-owner-wrap{flex-direction:column;gap:0;display:flex}.turni-pdf-import-context{margin-bottom:12px}.turni-pdf-owner-note{color:var(--text);margin:0 0 6px;font-size:.95rem;font-weight:600}.turni-pdf-company-note{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 10px;font-size:.82rem;line-height:1.4;display:flex}.turni-pdf-company-note--muted{font-size:.8rem}.turni-pdf-company-badge{color:var(--text);background:#3b82f614;border:1px solid #3b82f638;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.turni-pdf-company-badge__emoji{font-size:1rem;line-height:1}.turni-pdf-company-badge__logo{object-fit:contain;background:#ffffffe6;border:1px solid #0f172a0f;border-radius:5px;width:18px;height:18px}.turni-pdf-company-badge__label{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.turni-pdf-company-parser{color:var(--muted);font-weight:600}.shift-config-global-hint{color:var(--muted);max-width:220px;margin-top:4px;font-size:.78rem;font-weight:600;line-height:1.35}.turni-non-shift-hint{color:var(--muted);margin:0 0 12px;font-size:.92rem;line-height:1.45}.turni-add-toggle-wrap{margin-top:10px}.shift-config-form--panel{border-top:1px solid #0d6bce1f;margin-top:12px;padding-top:18px}.shift-config-form-panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.shift-config-form-panel-title{color:var(--text);font-size:1.02rem;font-weight:800}.config-field-group{flex-direction:column;gap:6px;min-width:0;display:flex}.config-field-group--full{grid-column:1/-1}.config-field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:800}.form-row--labeled-pair{align-items:flex-end}.form-row--labeled-pair .config-field-group{flex:1}.bottom-nav{z-index:1000;background:#fffffff2;border-radius:24px;gap:12px;padding:10px 14px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 16px 32px #142a3c1f}.nav-item{color:#8b97a6;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:70px;height:64px;text-decoration:none;transition:all .18s;display:flex}.nav-item:hover{background:#0d6bce14}.nav-item.active{background:linear-gradient(135deg, var(--primary-hover), var(--primary-mid));color:#fff;transform:translateY(-2px)}.nav-icon{font-size:1.2rem}.nav-label{font-size:.68rem;font-weight:600}@media (width<=700px){.bottom-nav{-webkit-overflow-scrolling:touch;justify-content:space-between;gap:4px;padding:8px 6px;left:8px;right:8px;overflow-x:auto;transform:none}.nav-item{flex:1 0 auto;min-width:58px;max-width:76px;height:58px}.nav-label{font-size:10px}}.upload-error-box{color:#b3261e;background:#fbeaea;border-radius:16px;margin-top:16px;padding:14px 16px;font-weight:600}.upload-result-box{background:#f4f9fd;border-radius:18px;margin-top:18px;padding:16px}.preview-table{gap:8px;margin-top:14px;display:grid}.preview-row{grid-auto-columns:minmax(120px,1fr);grid-auto-flow:column;gap:8px;display:grid;overflow-x:auto}.preview-cell{color:var(--text);background:#fff;border-radius:10px;padding:10px;font-size:.9rem;box-shadow:0 2px 6px #142a3c0a}.secondary-button{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-top:10px;font-weight:700}.secondary-button:hover{text-decoration:underline}.shift-config-list{gap:12px;margin-bottom:24px;display:grid}.shift-config-row{background:#f8fcff;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.shift-config-row--grid{grid-template-columns:minmax(72px,100px) minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.shift-config-list--wide{max-width:100%}.shift-config-code-wide{min-width:0}.shift-config-kind-cells{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0;display:grid}.shift-config-kind-cells--5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=1100px){.shift-config-kind-cells--5{flex-wrap:wrap;gap:10px;display:flex}.shift-config-kind-cells--5 .shift-config-kind-cell{flex:calc(33.333% - 10px);min-width:92px}}.shift-config-kind-cell{flex-direction:column;gap:4px;min-width:0;font-size:.82rem;display:flex}.shift-config-kind-label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:.72rem;font-weight:700}.shift-config-kind-value{color:var(--text);word-break:break-word}.shift-config-cell-edit{align-self:flex-start;padding:0;font-size:.78rem}.turni-empty-codes{color:var(--muted);margin:0 0 8px}.shift-config-main{flex-direction:column;gap:4px;display:flex}.shift-config-code{color:var(--text);font-size:1rem;font-weight:800}.shift-config-depot{color:var(--muted);font-size:.8rem;font-weight:600}.shift-config-depot-hint{color:var(--muted);margin:-4px 0 10px;font-size:.85rem}.turni-codes-panel{background:linear-gradient(#e8f4fca6 0%,#f8fcffe6 100%);border:1px solid #0d6bce1f;border-radius:20px;flex-direction:column;gap:0;min-height:0;padding:4px;display:flex;box-shadow:inset 0 1px #ffffffbf}.turni-codes-card{flex-direction:column;display:flex}.turni-codes-card-head{flex-shrink:0;padding:4px 8px 0}.turni-codes-card-head .upload-section-title{margin-bottom:.35em}.turni-codes-cloud-hint{color:var(--muted);margin:0 0 12px;font-size:.85rem;line-height:1.45}.turni-codes-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.shift-list-search-wrap{flex:140px;min-width:min(100%,148px);max-width:min(100%,280px)}.shift-list-search-input{width:100%;padding-top:10px;padding-bottom:10px;font-size:.9rem}.turni-codes-toolbar .shift-list-filters{flex:auto;justify-content:flex-start}.turni-codes-scroll{box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;background:#f8fcff;border:1px solid #0d6bce24;border-radius:14px;flex:none;align-self:stretch;width:100%;height:56vh;min-height:50vh;max-height:60vh;margin-top:12px;padding:12px 10px 14px 12px;overflow:hidden auto;box-shadow:inset 0 -12px 16px -16px #0d6bce2e}@media (width<=640px){.turni-codes-scroll{height:46vh;min-height:40vh;max-height:50vh;padding:10px 8px 12px 10px}}.turni-codes-scroll .shift-config-list{gap:14px;margin-bottom:0}.turni-codes-scroll .shift-config-row{border-radius:16px;flex-shrink:0;padding:16px 18px}.turni-codes-card-footer{border-top:1px solid #0d6bce1f;flex-shrink:0;margin-top:0;padding-top:12px}.shift-list-filters{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.shift-list-filter-btn{color:var(--text);cursor:pointer;background:#fff;border:1px solid #c5d6e6;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:700}.shift-list-filter-btn:hover{background:#eef6fc}.shift-list-filter-btn--active{background:var(--primary);color:#fff;border-color:var(--primary)}.shift-config-code-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.shift-code-warning-triangle{color:#c9a000;cursor:help;flex-shrink:0;font-size:.75rem;line-height:1}.shift-config-details{color:var(--muted);font-size:.95rem}.shift-config-actions{flex-wrap:wrap;gap:8px;display:flex}.mini-action-button{color:var(--primary);cursor:pointer;background:#e9f3fb;border:none;border-radius:999px;padding:10px 14px;font-weight:700}.mini-action-button.danger{color:#b3261e;background:#fbeaea}.shift-config-form{background:#f4f9fd;border-radius:20px;padding:18px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.config-input{width:100%;font:inherit;color:var(--text);background:#fff;border:1px solid #0d6bce29;border-radius:14px;padding:12px 14px}.form-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=700px){.shift-config-row{flex-direction:column;align-items:flex-start}.shift-config-row--grid{grid-template-columns:1fr}.shift-config-kind-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-config-kind-cells--5 .shift-config-kind-cell{flex:calc(50% - 8px)}.form-row{grid-template-columns:1fr}}.session-picker-backdrop{z-index:3000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(160deg,#142a3ce0 0%,#0d6bcebf 100%);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.session-picker-card{background:var(--white,#fff);border-radius:24px;width:min(480px,100%);padding:28px 26px 24px;box-shadow:0 28px 56px #142a3c47}.session-picker-title{color:var(--text);margin:0 0 12px;font-size:1.35rem;font-weight:800;line-height:1.25}.session-picker-desc{color:var(--muted);margin:0 0 22px;font-size:.95rem;line-height:1.5}.session-picker-actions{flex-direction:column;gap:12px;display:flex}.session-picker-btn{cursor:pointer;border:none;border-radius:16px;width:100%;padding:16px 18px;font-family:inherit;font-size:1.05rem;font-weight:800;transition:transform .12s,box-shadow .12s}.session-picker-btn:active{transform:scale(.99)}.session-picker-btn--primary{background:var(--primary);color:#fff;box-shadow:0 8px 20px #0d6bce59}.session-picker-btn--secondary{color:var(--text);background:#f0f4f8;border:1px solid #0d6bce33}.session-picker-foot{color:var(--muted);margin:20px 0 0;font-size:.85rem;line-height:1.45}.session-picker-settings-link{font-weight:700}.session-bar{color:var(--text);background:linear-gradient(90deg,#e8f2fa 0%,#f4f9fd 100%);border-bottom:1px solid #0d6bce1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:10px 16px;font-size:.9rem;display:flex}.session-bar-text strong{color:var(--primary)}.session-bar-change{padding:0;font-size:.88rem}.auth-loading-screen{justify-content:center;align-items:center;min-height:60vh;padding:24px;display:flex}.auth-loading-text{color:var(--muted);font-size:.95rem}.shift-codes-hydration-screen{justify-content:center;align-items:center;min-height:50vh;padding:2rem;display:flex}.app-top-header{padding:10px 16px 12px;padding-top:calc(10px + env(safe-area-inset-top,0px));background:var(--top-header-bg);background-color:var(--top-header-bg-solid);border-bottom:1px solid var(--top-header-border);box-shadow:var(--top-header-shadow);z-index:200;isolation:isolate;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;display:flex;position:sticky;top:0}.app-top-header__spacer{flex:1;min-width:8px}.app-top-header__trailing{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 12px;min-width:0;display:flex}.app-top-header__user{align-items:center;display:flex}.app-top-header__user-link{color:inherit;border-radius:999px;align-items:center;gap:10px;padding:4px 6px 4px 10px;text-decoration:none;transition:background .15s;display:inline-flex}.app-top-header__user-link:hover{background:#0d6bce1a}.app-top-header__name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:42vw;font-size:.95rem;font-weight:600;overflow:hidden}.app-top-header__avatar{background:linear-gradient(145deg, var(--primary-soft) 0%, #ffffffe6 100%);border:1px solid #0d6bce2e;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.15rem;line-height:1;display:flex;box-shadow:0 1px 2px #0a28480f}.app-top-header__roster-toggle{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;width:100%;display:flex}@media (width>=520px){.app-top-header__roster-toggle{justify-content:flex-end;width:auto}}.app-top-header__pill{color:var(--muted);cursor:pointer;background:#f8fafc;border:1px solid #0f172a1f;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.app-top-header__pill:hover{color:var(--text);border-color:#0d6bce59}.app-top-header__pill--active{color:var(--primary);background:#0d6bce1f;border-color:#0d6bce59}.app-top-header__logout{border:1px solid color-mix(in srgb, var(--danger) 38%, transparent);background:var(--danger-soft);color:var(--danger-text);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:700;transition:background .15s,border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #0a28480d}.app-top-header__logout:hover{background:color-mix(in srgb, var(--danger-soft) 88%, var(--danger));border-color:color-mix(in srgb, var(--danger) 52%, transparent);box-shadow:0 2px 6px #b91c1c1f}.app-top-header__logout:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.auth-screen-root{z-index:10000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow:auto}.auth-screen-blur-stack{background:linear-gradient(145deg,#0f172a 0%,#1e293b 40%,#334155 100%);position:absolute;inset:0;overflow:hidden}.auth-screen-blur-blob{filter:blur(48px);opacity:.55;pointer-events:none;border-radius:50%;position:absolute}.auth-screen-blur-blob--1{background:radial-gradient(circle,#38bdf8 0%,#0000 70%);width:80vw;max-width:520px;height:80vw;max-height:520px;top:-12%;left:-18%}.auth-screen-blur-blob--2{background:radial-gradient(circle,#a78bfa 0%,#0000 70%);width:70vw;max-width:440px;height:70vw;max-height:440px;bottom:-20%;right:-15%}.auth-screen-blur-blob--3{background:radial-gradient(circle, var(--primary) 0%, transparent 65%);width:50vw;height:50vw;top:35%;left:30%}.auth-screen-blur-fake-nav{filter:blur(6px);pointer-events:none;background:#ffffff14;border-radius:16px;height:52px;position:absolute;top:8%;left:6%;right:6%}.auth-screen-blur-fake-card{filter:blur(8px);pointer-events:none;background:#ffffff1a;border-radius:20px;width:84%;max-width:400px;height:180px;position:absolute;top:22%;left:8%}.auth-screen-blur-fake-card--short{max-width:320px;height:120px;top:auto;bottom:18%;left:12%}.auth-screen-dim{-webkit-backdrop-filter:blur(10px);pointer-events:none;background:#0f172a6b;position:absolute;inset:0}.auth-screen-modal-wrap{z-index:2;width:100%;max-width:420px;margin:auto;position:relative}.auth-screen-modal{background:#fff;border-radius:20px;padding:26px 22px 28px;box-shadow:0 24px 80px #00000059,0 0 0 1px #ffffff0f}.auth-screen-brand{align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.auth-screen-brand-mark{background:linear-gradient(135deg,#e8f2fa 0%,#dbeafe 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.35rem;display:flex}.auth-screen-title{color:var(--text);letter-spacing:-.02em;margin:0 0 6px;font-size:1.35rem;font-weight:800}.auth-screen-lead{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.auth-screen-mode-toggle{justify-content:flex-start;margin-bottom:14px}.auth-screen-submit{width:100%;margin-top:6px}.auth-secondary-auth-button{color:#0f172a;cursor:pointer;background:#f0f7fc;border:1px solid #0d6bce38;border-radius:999px;margin-top:0;padding:12px 16px;font-weight:800;transition:background .16s,border-color .16s,transform 60ms}.auth-secondary-auth-button:hover:not(:disabled){background:#dbeafe;border-color:#3b82f659}.auth-secondary-auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-screen-config-card .auth-screen-title{margin-bottom:10px}.auth-screen-config-card code{font-size:.85em}.account-hero{background:linear-gradient(125deg,#f0f7fc 0%,#f8fafc 55%,#eef4ff 100%);border:1px solid #0d6bce1f;border-radius:20px;align-items:center;gap:16px;margin-bottom:24px;padding:20px;display:flex}.account-hero__avatar{background:#fff;border:1px solid #0f172a14;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.75rem;display:flex;box-shadow:0 4px 14px #0f172a0f}.account-hero__meta h2{margin:0 0 4px;font-size:1.25rem;font-weight:700}.account-hero__meta p{color:var(--muted);margin:0;font-size:.88rem}.account-page__toolbar{margin-bottom:12px}.account-page__back{font-size:.9rem;font-weight:600}.account-page__loading{color:var(--muted);margin-bottom:16px;font-size:.92rem}.account-profile-header{background:linear-gradient(135deg,#f0f7fc 0%,#f8fafc 42%,#eef6ff 100%);border:1px solid #0d6bce24;border-radius:22px;flex-wrap:wrap;align-items:flex-start;gap:20px 24px;margin-bottom:20px;padding:24px 22px 26px;display:flex;box-shadow:0 10px 40px #0f172a0f}.account-profile-header__avatar-wrap{flex-shrink:0}.account-profile-header__avatar{background:#fff;border:3px solid #fffffff2;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;font-size:2.5rem;line-height:1;display:flex;box-shadow:0 8px 28px #0d6bce26,0 0 0 1px #0f172a0f}.account-profile-header__main{flex:1;min-width:200px}.account-profile-header__title-row{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:4px;display:flex}.account-profile-header__name{letter-spacing:-.03em;color:var(--text);margin:0;font-size:1.55rem;font-weight:800;line-height:1.15}.account-profile-header__badge{text-transform:uppercase;letter-spacing:.04em;color:#15803d;background:#16a34a1f;border:1px solid #16a34a47;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:700}.account-profile-header__tagline{color:var(--primary);margin:0 0 8px;font-size:.95rem;font-weight:600}.account-profile-header__company-row{margin:0 0 10px}.account-profile-header__company-badge{letter-spacing:.01em;max-width:100%;color:var(--text);background:#ffffffb8;border:1px solid #0d6bce38;border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 10px;font-size:.82rem;font-weight:700;transition:border-color .15s,box-shadow .15s,background .15s,transform .12s;display:inline-flex;box-shadow:0 2px 10px #0f172a0d}.account-profile-header__company-badge:hover{background:#ffffffeb;border-color:#2563eb66;transform:translateY(-1px);box-shadow:0 4px 14px #2563eb1a}.account-profile-header__company-badge--empty{color:var(--muted);background:#f8fafce6;border-style:dashed;border-color:#64748b59}.account-profile-header__company-badge--empty:hover{border-color:#64748b80;box-shadow:0 2px 10px #0f172a0a}.account-profile-header__company-badge--ghost{pointer-events:none;opacity:.75;border-style:dashed}.account-profile-header__company-badge__emoji{flex-shrink:0;font-size:1.15rem;line-height:1}.account-profile-header__company-badge__logo{object-fit:contain;background:#ffffffe6;border:1px solid #0f172a0f;border-radius:6px;flex-shrink:0;width:20px;height:20px}.account-profile-header__company-badge__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account-profile-header__email{color:var(--muted);word-break:break-all;margin:0 0 16px;font-size:.8rem}.account-profile-header__edit-btn{border-radius:999px;padding:10px 20px;font-weight:700}.account-stats-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px;display:grid}@media (width<=620px){.account-stats-row{grid-template-columns:1fr}}.account-stat-card{background:#fff;border:1px solid #0f172a14;border-radius:18px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 14px;display:flex;box-shadow:0 4px 18px #0f172a0a}.account-stat-card__label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.72rem;font-weight:700}.account-stat-card__swatch{border:2px solid #ffffffe6;border-radius:50%;width:36px;height:36px;box-shadow:0 0 0 1px #0f172a1a}.account-stat-card__value.mono{color:var(--text);font-family:ui-monospace,monospace;font-size:.82rem;font-weight:600}.account-stat-card__number{letter-spacing:-.02em;color:var(--text);font-size:1.75rem;font-weight:800;line-height:1}.account-stat-card__hint{color:var(--muted);font-size:.78rem;line-height:1.35}.account-edit-stack{flex-direction:column;gap:16px;margin-bottom:22px;display:flex}.account-panel-card{background:#fff;border:1px solid #0f172a14;border-radius:20px;padding:20px 18px 22px;box-shadow:0 6px 24px #0f172a0d}.account-panel-card__title{margin:0 0 8px;font-size:1.05rem;font-weight:800}.account-panel-card__lead{color:var(--muted);margin:0 0 16px;font-size:.9rem;line-height:1.45}.account-field-hint{color:var(--muted);margin:6px 0 0;font-size:.78rem;line-height:1.45}.account-field-hint code{font-size:.9em}.account-company-summary{gap:8px 12px;margin:0 0 16px;padding:0;font-size:.88rem;list-style:none;display:grid}.account-company-summary li{grid-template-columns:minmax(100px,140px) 1fr;align-items:baseline;gap:8px;display:grid}.account-company-summary__k{color:var(--muted);font-weight:600}.account-company-summary__v{word-break:break-word}.account-company-section .account-panel-card__lead{max-width:42rem}.account-company-section--subtle{background:linear-gradient(#f8fafc 0%,#fff 55%);border-color:#0f172a12;padding-top:18px;padding-bottom:18px;box-shadow:0 2px 14px #0f172a0a}.account-company-section--subtle .account-panel-card__title{margin-bottom:6px;font-size:1.05rem;font-weight:800}.account-company-section__lead{color:var(--muted);margin-bottom:14px;font-size:.86rem;line-height:1.5}.account-company-inline-hint{color:var(--muted);margin:0 0 12px;font-size:.82rem;line-height:1.45}.account-company-pick-block--compact{margin-bottom:14px}.account-company-pick-label--compact{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:8px;font-size:.72rem;font-weight:800}.account-company-pick-list--compact{gap:8px}.account-company-pick-list--compact .account-company-pick{border-radius:12px;padding:10px 12px 10px 10px}.account-company-pick-list--compact .account-company-pick__headline{font-size:.92rem}.account-company-pick-list--compact .account-company-pick__desc{font-size:.78rem;line-height:1.35}.account-company-pick-list--compact .account-company-pick__radio-ui{width:16px;height:16px}.account-company-section--subtle .account-company-actions{margin-top:2px}.account-company-current-card{background:linear-gradient(145deg,#3b82f60f,#0f172a05);border:1px solid #3b82f62e;border-radius:16px;margin:0 0 20px;padding:18px 18px 16px;box-shadow:inset 0 1px #fff9}.account-company-current-card__title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px;font-size:.72rem;font-weight:800}.account-company-current-card__name{letter-spacing:-.02em;color:var(--text);margin:0 0 12px;font-size:1.2rem;font-weight:800;line-height:1.25}.account-company-pills{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.account-company-pill{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;padding:5px 11px;font-size:.72rem;font-weight:700;display:inline-flex}.account-company-pill--compact{padding:3px 8px;font-size:.68rem}.account-company-pill--import{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f647}.account-company-pill--status{color:#475569;background:#64748b1a;border-color:#64748b38}.account-company-pill--status-ok{color:#15803d;background:#16a34a1f;border-color:#16a34a47}.account-company-pill--status-pending{color:#b45309;background:#f59e0b24;border-color:#f59e0b52}.account-company-pill--status-neutral{color:#64748b;background:#94a3b81f;border-color:#94a3b840}.account-company-current-card__hint{color:var(--muted);margin:0;font-size:.86rem;line-height:1.45}.account-company-current-card__empty{color:var(--muted);margin:0;font-size:.9rem}.account-company-pick-block{margin-bottom:18px}.account-company-pick-label{color:var(--text);margin:0 0 10px;font-size:.88rem;font-weight:700}.account-company-pick-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.account-company-pick{cursor:pointer;background:#ffffffa6;border:1px solid #0f172a1a;border-radius:14px;align-items:flex-start;gap:12px;margin:0;padding:14px 14px 14px 12px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;position:relative}.account-company-pick:hover:not(.account-company-pick--disabled){background:#3b82f60a;border-color:#3b82f659}.account-company-pick--selected{background:#3b82f614;border-color:#2563eb8c;box-shadow:0 0 0 1px #2563eb1f}.account-company-pick--disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.account-company-pick__radio-ui{background:#fff;border:2px solid #64748b73;border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-top:2px;box-shadow:0 1px 2px #0f172a0f}.account-company-pick--selected .account-company-pick__radio-ui{border-color:#2563eb;box-shadow:inset 0 0 0 4px #2563eb}.account-company-pick__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.account-company-pick__headline{letter-spacing:-.02em;color:var(--text);font-size:1rem;font-weight:800}.account-company-pick__org{color:var(--muted);font-size:.78rem;font-weight:600}.account-company-pick__desc{color:var(--muted);font-size:.82rem;line-height:1.4}.account-company-pick__pills{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.account-company-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.account-company-actions__secondary{margin:0}.account-company-debug{background:#0f172a08;border:1px dashed #64748b59;border-radius:12px;margin:16px 0 0;padding:12px 14px}.account-company-debug__summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;font-size:.78rem;font-weight:700}.account-company-debug__summary:hover{color:var(--text)}.account-company-debug__dl{gap:10px;margin:12px 0 0;padding:0;font-size:.78rem;display:grid}.account-company-debug__dl>div{grid-template-columns:minmax(120px,160px) 1fr;align-items:baseline;gap:8px;display:grid}.account-company-debug__dl dt{color:var(--muted);margin:0;font-weight:600}.account-company-debug__dl dd{word-break:break-word;margin:0}.account-company-create-form{border-top:1px solid #0f172a14;padding-top:4px}.account-security-card{background:#f8fafc;border:1px solid #0f172a14;border-radius:20px;margin-top:8px;padding:20px 18px 22px}.account-security-card__title{margin:0 0 8px;font-size:1rem;font-weight:800}.account-security-card__lead{color:var(--muted);margin:0 0 12px;font-size:.88rem;line-height:1.45}.account-security-card__email-muted{color:var(--muted);word-break:break-all;margin:0 0 16px;font-size:.78rem}.account-security-card__logout{color:#b91c1c;cursor:pointer;background:#fef2f2f2;border:1px solid #b91c1c73;border-radius:999px;padding:10px 18px;font-size:.88rem;font-weight:700;transition:background .15s,border-color .15s}.account-security-card__logout:hover:not(:disabled){background:#fee2e2;border-color:#b91c1ca6}.account-security-card__logout:disabled{opacity:.55;cursor:not-allowed}.account-notifications-card{background:#fff}.account-notifications-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 12px;margin-bottom:10px;display:flex}.account-notifications-title{margin:0}.account-notifications-counter{color:var(--primary);background:#0d6bce1a;border:1px solid #0d6bce2e;border-radius:999px;padding:6px 10px;font-size:.9rem;font-weight:800}.account-notifications-groups{flex-direction:column;gap:14px;display:flex}.account-notifications-group{background:#f8fafc;border:1px solid #0f172a0f;border-radius:16px;padding:12px 12px 10px}.account-notifications-group-title{color:var(--text);margin:0 0 10px;font-size:.92rem;font-weight:900}.notification-item:disabled{opacity:1;cursor:default;pointer-events:none}.notification-item:disabled:hover{background:0 0}.account-emoji-grid{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.account-emoji-btn{cursor:pointer;background:#f1f5f9;border:2px solid #0000;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.35rem;transition:border-color .15s,background .15s;display:flex}.account-emoji-btn:hover{background:#e2e8f0}.account-emoji-btn--selected{border-color:var(--primary);background:#0d6bce1a}.account-color-presets{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.account-color-swatch{cursor:pointer;border:2px solid #ffffffe6;border-radius:50%;width:32px;height:32px;padding:0;box-shadow:0 0 0 1px #0f172a1f}.account-color-swatch--selected{box-shadow:0 0 0 2px var(--primary)}.settings-banner{border-radius:16px;margin-bottom:20px;padding:14px 16px;font-size:.92rem;line-height:1.45}.settings-banner--info{color:var(--text);background:#e8f4fc;border:1px solid #0d6bce33}.settings-text-field{margin-bottom:14px}.settings-text-field .config-input{margin-top:6px}.settings-saved-hint{color:#1b5e20;align-self:center;font-size:.9rem;font-weight:700}.calendar-stack{width:100%;min-width:0;position:relative}.shift-change-panel{z-index:8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-overflow-scrolling:touch;opacity:1;background:#f8fbfdeb;border-radius:30px;justify-content:center;align-items:flex-start;padding:10px 6px 14px;transition:opacity .38s;display:flex;position:absolute;inset:0;overflow:auto;box-shadow:inset 0 0 0 1px #0d6bce14}.shift-change-panel--closing{opacity:0;pointer-events:none}.shift-change-panel-inner{width:100%;max-width:420px;margin:0 auto;padding:6px 4px 8px}.shift-change-kicker{letter-spacing:.1em;text-transform:uppercase;color:#516170;margin:0 0 6px;font-size:.72rem;font-weight:800}.shift-change-date{color:var(--text);margin:0 0 12px;font-size:.88rem;font-weight:600}.shift-change-owner-toggle{gap:8px;margin:0 0 16px;display:flex}.shift-change-owner-btn{cursor:pointer;background:var(--white,#fff);color:var(--text);border:1px solid #0d6bce59;border-radius:14px;flex:1;padding:10px 12px;font-family:inherit;font-size:.88rem;font-weight:700;transition:background .16s,border-color .16s,box-shadow .16s}.shift-change-owner-btn:hover{background:#f4f9fd;border-color:#0d6bce8c}.shift-change-owner-btn--active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #0d6bce47}.shift-change-owner-btn--active:hover{background:var(--primary);border-color:var(--primary);color:#fff}.shift-change-section-label{letter-spacing:.08em;text-transform:uppercase;color:#516170;margin:14px 0 8px;font-size:.72rem;font-weight:800}.shift-change-empty{color:var(--muted);margin:0 0 8px;font-size:.88rem;line-height:1.45}.shift-change-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.shift-change-card{background:var(--white,#fff);cursor:pointer;text-align:left;border:1px solid #142a3c1a;border-radius:18px;align-items:center;gap:12px;width:100%;padding:14px 14px 14px 12px;font-family:inherit;transition:border-color .18s,background .18s,box-shadow .18s;display:flex;box-shadow:0 2px 10px #142a3c0d}.shift-change-card:hover{border-color:#0d6bce47}.shift-change-card--selected{background:#ecf8f0;border-color:#2ea05c8c;box-shadow:0 4px 14px #2ea05c1f}.shift-change-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;line-height:1;display:flex}.shift-change-icon--morning{background:linear-gradient(145deg,#d6e9ff,#a8cfff)}.shift-change-icon--afternoon{background:linear-gradient(145deg,#ffe0ef,#ffc2d8)}.shift-change-icon--night{background:linear-gradient(145deg,#dce2eb,#b8c2d4)}.shift-change-icon--other{background:linear-gradient(145deg,#eef2f6,#dde4ec)}.shift-change-icon--rest{background:linear-gradient(145deg,#d4f0dc,#a8e6b8)}.shift-change-icon--ferie{background:linear-gradient(145deg,#fff3d6,#ffe08a)}.shift-change-icon--congedo{background:linear-gradient(145deg,#e8e0ff,#d0c4f7)}.shift-change-icon--malattia{background:linear-gradient(145deg,#ffe4e4,#ffc9c9)}.shift-change-card-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.shift-change-card-title{color:var(--text);font-size:1rem;font-weight:800}.shift-change-card-sub{color:var(--muted);font-size:.82rem;font-weight:500}.shift-change-radio{background:var(--white,#fff);border:2px solid #b0bac4;border-radius:50%;flex-shrink:0;width:22px;height:22px;transition:border-color .18s,background .18s}.shift-change-radio--on{background:#2ecc71;border-color:#2ecc71;box-shadow:inset 0 0 0 3px #fff}.shift-change-notes-label{letter-spacing:.1em;text-transform:uppercase;color:#516170;margin:18px 0 8px;font-size:.72rem;font-weight:800;display:block}.shift-change-notes{box-sizing:border-box;resize:vertical;background:#fafcfd;border:1px solid #142a3c24;border-radius:16px;width:100%;min-height:88px;padding:12px 14px;font-family:inherit;font-size:.92rem}.shift-change-notes:focus{background:var(--white,#fff);border-color:#0d6bce73;outline:none}.shift-change-actions{flex-direction:column;gap:10px;margin-top:18px;display:flex}.shift-change-btn-primary,.shift-change-btn-secondary{width:100%;margin:0}.day-detail-cambio-turno{width:100%;margin-top:16px}.calendar-header--with-filter{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.calendar-loading-hint{color:#516170;margin:0 0 10px;font-size:.88rem}.calendar-user-filter{position:relative}.calendar-user-filter-row{align-items:center;gap:8px;display:flex}.calendar-user-filter-avatar{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 0 0 2px #ffffffd9}.calendar-user-filter-emoji{font-size:1.15rem;line-height:1}.calendar-user-filter-plus{color:#64748b;-webkit-user-select:none;user-select:none;font-size:1.1rem;font-weight:800}.calendar-user-filter-add{cursor:pointer;background:#f8fbfdf2;border:2px dashed #0d6bce73;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:border-color .15s,background .15s;display:flex}.calendar-user-filter-add:hover{background:#fff;border-color:#0d6bcebf}.calendar-user-filter-add-inner{background:linear-gradient(135deg,#0d6bce59,#0d6bce1f);border-radius:3px;width:14px;height:14px}.calendar-user-filter-popover{z-index:20;background:var(--white,#fff);border-radius:16px;min-width:260px;max-width:min(320px,92vw);max-height:min(360px,55vh);padding:12px 12px 14px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 12px 40px #0f172a1f,0 0 0 1px #0d6bce1a}.calendar-user-filter-popover-title{letter-spacing:.08em;text-transform:uppercase;color:#516170;margin:0 0 10px;font-size:.72rem;font-weight:800}.calendar-user-filter-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.calendar-user-filter-label{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:6px 4px;font-size:.9rem;display:flex}.calendar-user-filter-label:hover{background:#0d6bce0f}.calendar-user-filter-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px}.calendar-user-filter-item-emoji{text-align:center;flex-shrink:0;width:1.4rem}.calendar-user-filter-item-name{min-width:0;color:var(--text);flex:1;font-weight:600}.calendar-user-filter-item-hint{color:#64748b;font-size:.72rem;font-weight:600}.calendar-filters-groups--single .calendar-filters-group{max-width:100%}.person-shift-code-pill{color:#516170;margin-top:8px;font-size:.78rem;font-weight:700}.shift-change-save-error{color:#b91c1c;margin-top:10px;font-size:.86rem;font-weight:600}
