:root{
  color-scheme:light dark;
  --bg:#f5f5f7;--surface:rgba(255,255,255,.84);--surface-solid:#fff;--surface-soft:#f0f1f4;--text:#111116;--muted:#6c6c73;--border:rgba(17,17,22,.09);--accent:#4a69ff;--accent-soft:rgba(74,105,255,.12);
  --day:#2166d1;--evening:#a05a14;--night:#7651c9;--off:#238b57;--bye:#777b84;--leave:#d16a22;--extra:#c33f58;--summer:#118f96;--sat:#4f8ee8;--sun:#e05a6a;--danger:#c42b3f;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Apple SD Gothic Neo",Pretendard,sans-serif;
}
@media(prefers-color-scheme:dark){:root{--bg:#09090b;--surface:rgba(28,28,31,.84);--surface-solid:#1c1c1f;--surface-soft:#232329;--text:#f7f7fa;--muted:#a2a2aa;--border:rgba(255,255,255,.09);--accent:#8da1ff;--accent-soft:rgba(141,161,255,.16);--day:#70a5ff;--evening:#f0aa66;--night:#b29aff;--off:#69c892;--bye:#aaaeb8;--leave:#ffad6f;--extra:#ff8295;--summer:#62d3d8;--sat:#70a5ff;--sun:#ff8295}}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.app-shell{width:min(100%,760px);margin:0 auto;padding:calc(env(safe-area-inset-top) + 14px) 14px calc(env(safe-area-inset-bottom) + 92px)}.app-page[hidden]{display:none!important}.app-page{animation:pageIn .16s ease-out}.app-page.active{display:block}@keyframes pageIn{from{opacity:.5}to{opacity:1}}
.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.calendar-header{align-items:center}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--muted)}h1{font-size:31px;line-height:1.05;letter-spacing:-.045em;margin:4px 0 0;font-weight:850}h2{font-size:19px;line-height:1.1;letter-spacing:-.025em;margin:3px 0 0;font-weight:800}.header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.icon-btn,.pill-btn,.text-btn,.wide-btn,.builder-buttons button,.pattern-token,.shift-choice-grid button{border:1px solid var(--border);background:var(--surface);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);cursor:pointer}.icon-btn{width:44px;height:44px;border-radius:999px;font-size:20px;font-weight:700}.icon-btn.small{width:38px;height:38px;font-size:17px}.pill-btn{height:44px;padding:0 14px;border-radius:999px;font-weight:750;font-size:13px}.pill-btn.accent{background:var(--accent-soft)}.text-btn{border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:750;padding:8px}.wide-btn{width:100%;height:46px;border-radius:14px;margin-top:8px;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;text-decoration:none}.accent-solid{background:var(--accent);color:white;border-color:transparent}.link-btn{background:var(--surface-solid);color:var(--text)}.danger-btn{color:var(--danger);background:transparent}
.glass-card,.calendar-card,.stat-card{border:1px solid var(--border);background:var(--surface);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(255,255,255,.04) inset}.glass-card{border-radius:24px;padding:15px;margin-bottom:11px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.compact-head{margin-bottom:9px}.field-label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin:0 0 5px 2px}.field-control{width:100%;height:46px;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid);color:var(--text);padding:0 11px;font-size:13px;min-width:0}.two-col-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.anchor-field{margin-top:9px;max-width:320px}.mini-note,.helper{font-size:11px;line-height:1.45;color:var(--muted)}.mini-note{padding:8px 2px}.helper{margin:7px 2px 0}.helper.no-top{margin-top:0}.pattern-strip{display:flex;gap:6px;overflow-x:auto;padding:11px 1px 3px;scrollbar-width:none}.pattern-strip::-webkit-scrollbar{display:none}.pattern-token{flex:0 0 44px;height:44px;border-radius:13px;font-size:15px;font-weight:900;color:var(--muted);display:grid;place-items:center;cursor:default}.pattern-token.active{outline:0;background:var(--surface);color:var(--muted)}.builder{border-top:1px solid var(--border);margin-top:11px;padding-top:10px}.builder summary{font-size:13px;font-weight:800;cursor:pointer}.builder-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.builder-buttons button{height:38px;border-radius:12px;padding:0 10px;font-size:11px;font-weight:800}
.management-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.management-grid .glass-card{margin-bottom:0}.leave-remaining{font-size:34px;line-height:1;font-weight:900;letter-spacing:-.04em}.leave-remaining small{font-size:12px;color:var(--muted);margin-left:2px}.leave-input-row{display:flex;align-items:center;gap:7px}.leave-input-row .field-control{max-width:145px}.leave-input-row>span{font-size:13px;color:var(--muted);font-weight:700}.leave-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.leave-breakdown>div{background:var(--surface-soft);border-radius:15px;padding:11px}.leave-breakdown span{display:block;font-size:11px;color:var(--muted);font-weight:700}.leave-breakdown strong{display:block;font-size:17px;margin-top:3px}
.color-card{margin-top:11px}.color-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px}.color-item{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;border:1px solid var(--border);background:var(--surface-solid);border-radius:18px;padding:10px 11px;min-width:0}.color-preview{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--surface-soft);font-size:20px;font-weight:950}.color-copy{min-width:0}.color-copy strong,.color-copy small{display:block}.color-copy strong{font-size:13px}.color-copy small{font-size:10px;color:var(--muted);margin-top:2px;line-height:1.35}.color-item input[type=color]{width:42px;height:42px;padding:2px;border-radius:12px;border:1px solid var(--border);background:transparent;overflow:hidden}.color-item input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.color-item input[type=color]::-webkit-color-swatch{border:0;border-radius:8px}
.stats-section{margin-top:11px}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.stat-card{border-radius:18px;padding:12px 11px;min-width:0}.stat-card>span{display:block;color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}.stat-card strong{font-size:24px;line-height:1;font-weight:900;letter-spacing:-.04em;margin-top:5px;display:inline-block}.stat-card small{font-size:10px;color:var(--muted);font-weight:700;margin-left:2px}.data-card{margin-top:11px}
.calendar-stage{touch-action:pan-y;position:relative;overflow:hidden;border-radius:28px}.calendar-stage.dragging .calendar-card{transition:none}.calendar-card{border-radius:28px;padding:12px 9px 10px;will-change:transform,opacity;transition:transform .2s cubic-bezier(.2,.7,.2,1),opacity .2s ease}.calendar-card.slide-left{animation:slideLeft .23s ease-out}.calendar-card.slide-right{animation:slideRight .23s ease-out}@keyframes slideLeft{from{transform:translateX(18%);opacity:.55}to{transform:none;opacity:1}}@keyframes slideRight{from{transform:translateX(-18%);opacity:.55}to{transform:none;opacity:1}}.week-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.week-row span{text-align:center;padding:5px 0 8px;color:var(--muted);font-size:11px;font-weight:750}.week-row .sat{color:var(--sat)}.week-row .sun{color:var(--sun)}.calendar-day{height:76px;border:0;border-radius:17px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--text);cursor:pointer;min-width:0}.calendar-day.blank{cursor:default}.calendar-day.today{background:var(--text);color:var(--surface-solid)}.calendar-day.manual:not(.today){background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.calendar-day .date-num{font-size:13px;font-weight:700;line-height:1}.calendar-day.holiday .date-num,.calendar-day.sunday .date-num{color:var(--sun)}.calendar-day.today.holiday .date-num,.calendar-day.today.sunday .date-num{color:var(--sun)}.calendar-day .shift-text{font-size:21px;line-height:1;font-weight:950;letter-spacing:-.05em;min-height:21px}.calendar-day .shift-text.empty-shift{visibility:hidden}.calendar-day.today .shift-text{color:inherit!important}.shift-day{color:var(--day)!important}.shift-evening{color:var(--evening)!important}.shift-night{color:var(--night)!important}.shift-off{color:var(--off)!important}.shift-bye{color:var(--bye)!important}.shift-leave{color:var(--leave)!important}.shift-extra{color:var(--extra)!important}.shift-summer{color:var(--summer)!important}.legend{display:flex;gap:9px 13px;flex-wrap:wrap;padding:11px 5px 3px;color:var(--muted);font-size:10px}.legend span{display:flex;align-items:center;gap:4px}.legend b{font-size:15px;font-weight:950}
.bottom-nav{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 10px);transform:translateX(-50%);width:min(calc(100% - 28px),520px);height:64px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-solid) 88%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:22px;display:grid;grid-template-columns:1fr 1fr;padding:5px;z-index:20;box-shadow:0 12px 40px rgba(0,0,0,.13)}.nav-item{border:0;background:transparent;border-radius:17px;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:750;min-height:52px}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-icon{font-size:19px;line-height:1}
.modal{width:min(94%,560px);border:1px solid var(--border);border-radius:26px;padding:0;background:var(--surface-solid);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.28)}.modal::backdrop{background:rgba(0,0,0,.34);backdrop-filter:blur(5px)}.modal-content{padding:18px}.edit-modal{margin:auto auto 16px;max-height:80%;}.shift-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.shift-choice-grid button{height:62px;border-radius:15px;background:var(--surface-solid);font-size:20px;font-weight:950}.shift-choice-grid button span{display:block;font-size:9px;color:var(--muted);margin-top:2px;font-weight:700}.steps{margin:8px 0 0;padding-left:22px;color:var(--text);font-size:14px;line-height:1.8}.share-modal img{width:100%;height:auto;border-radius:18px;border:1px solid var(--border);background:#fff;display:block}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-actions .wide-btn{margin-top:10px}
@media(max-width:620px){.app-shell{padding-left:10px;padding-right:10px}.management-grid{grid-template-columns:1fr}.color-settings{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.calendar-day{height:72px}h1{font-size:29px}.share-actions{grid-template-columns:1fr}.calendar-header .header-actions{max-width:152px}.calendar-header .icon-btn{width:42px;height:42px}.calendar-header .pill-btn{height:42px;padding:0 13px}}
@media(max-width:360px){.app-shell{padding-left:8px;padding-right:8px}.header-actions{gap:4px}.pill-btn{padding:0 10px}.calendar-day{height:66px}.calendar-day .shift-text{font-size:19px}.calendar-card{padding-left:6px;padding-right:6px}.week-row,.calendar-grid{gap:2px}.calendar-header h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
