@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.lowercase{text-transform:lowercase}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#20253c;--muted:#687086;--line:#e8e9ef;--paper:#fff;--canvas:#f5f4f8;--violet:#5d5fef;--violet-dark:#484ad1;--violet-soft:#eeedff;--available:#187a55;--available-soft:#e6f6ef;--tentative:#9a5a00;--tentative-soft:#fff3d8;--unavailable:#b23b49;--unavailable-soft:#fdebed;--waiting:#62697e;--waiting-soft:#f0f1f5;--shadow:0 18px 56px #2d27491c}*{box-sizing:border-box}html{background:var(--canvas);scrollbar-gutter:stable}body{background:radial-gradient(circle at 4% 8%, #7771ff17, transparent 30%), radial-gradient(circle at 96% 84%, #44b38b14, transparent 27%), var(--canvas);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Pretendard JP Variable,Pretendard JP,Pretendard,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic UI,Yu Gothic,Meiryo,sans-serif;font-weight:500}:lang(ko){font-feature-settings:"ss05";font-family:Pretendard Variable,Pretendard,Pretendard JP Variable,Pretendard JP,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Malgun Gothic,sans-serif}button,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{width:min(100%,1080px);min-height:100vh;margin:0 auto;padding:28px 28px 88px}.app-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.brand{align-items:center;gap:13px;min-width:0;display:flex}.brand-logo{object-fit:cover;border-radius:14px;flex:none;width:44px;height:44px;display:block;box-shadow:0 9px 24px #1a2a5b40}.brand-copy{min-width:0}.brand-title-row{flex-wrap:wrap;align-items:center;gap:5px 7px;display:flex}.brand h1{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:700}.version-badge{color:#6264ce;letter-spacing:.01em;white-space:nowrap;background:#f4f3ff;border:1px solid #deddf8;border-radius:999px;align-items:center;min-height:21px;padding:2px 8px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.brand p{color:#6c7185;margin:3px 0 0;font-size:12px;font-weight:600;line-height:1.4}.header-controls{align-items:center;gap:8px;min-width:0;display:flex}.language-picker{border:1px solid var(--line);color:#686d80;background:#ffffffdb;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:0 8px;display:flex}.language-picker select{color:#575c72;cursor:pointer;background:0 0;border:0;outline:0;width:72px;font-size:11px;font-weight:700}.language-picker:focus-within{outline-offset:2px;outline:3px solid #5d5fef45}.viewer-chip{border:1px solid var(--line);color:#575c72;background:#ffffffdb;border-radius:999px;align-items:center;gap:9px;min-width:0;padding:7px 11px 7px 8px;font-size:12px;font-weight:650;display:flex}.avatar{background:var(--violet-soft);width:28px;height:28px;color:var(--violet-dark);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.app-card{box-shadow:var(--shadow);background:#fffffff5;border:1px solid #e4e3edf5;border-radius:24px;overflow:hidden}.tab-bar{border-bottom:1px solid var(--line);background:#fafafd;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px;display:grid}.tab-button{color:#797d90;cursor:pointer;background:0 0;border:0;border-radius:14px;min-height:46px;font-weight:720;transition:background .16s,color .16s,box-shadow .16s;position:relative}.tab-notice{border:2px solid var(--paper);background:var(--unavailable);border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:max(9px,50% - 62px)}.tab-button:hover{color:var(--ink)}.tab-button.active{background:var(--paper);color:var(--violet-dark);box-shadow:0 3px 12px #2e2b4917}.view-all .tab-button.active{color:var(--available);background:#eef9f5}.view-manage .tab-button.active{color:#495bb6;background:#eef2ff}.content-header{justify-content:space-between;align-items:flex-start;gap:20px;padding:28px 30px 20px;display:flex}.content-header h2{letter-spacing:-.035em;margin:0 0 7px;font-size:23px}.content-header p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.calendar-heading{border-left:4px solid #0000}.calendar-heading.mine{background:linear-gradient(90deg,#f7f5ff,#f7f5ff00);border-left-color:#8f8ff5}.calendar-heading.all{background:linear-gradient(90deg,#effaf6,#effaf600);border-left-color:#54b895}.view-context-label{color:var(--violet-dark);background:var(--violet-soft);letter-spacing:.02em;border-radius:999px;margin-bottom:7px;padding:4px 8px;font-size:9px;font-weight:800;display:inline-flex}.calendar-heading.all .view-context-label{color:var(--available);background:var(--available-soft)}.autosave{background:var(--available-soft);color:var(--available);border-radius:999px;flex:none;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:760;display:inline-flex}.autosave-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.autosave.failed{background:var(--unavailable-soft);color:var(--unavailable)}.header-statuses{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.month-nav{grid-template-columns:40px 1fr 40px;align-items:center;gap:12px;margin:0 30px 18px;display:grid}.month-nav h3{text-align:center;margin:0;font-size:17px;font-weight:780}.month-heading-copy{text-align:center;gap:3px;display:grid}.month-heading-copy>span{color:var(--available);font-size:10px;font-weight:760}.month-button,.icon-button{border:1px solid var(--line);background:var(--paper);color:#61667a;cursor:pointer;place-items:center;transition:border-color .14s,background .14s,transform .14s;display:grid}.icon-button:disabled{cursor:not-allowed;opacity:.55}.month-button{border-radius:13px;width:40px;height:40px;font-size:23px;line-height:1}.month-button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--violet-soft);border-color:#c9c7ed}.month-button:active,.icon-button:active{transform:scale(.96)}.calendar-wrap{padding:0 30px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{margin-bottom:8px}.weekday{color:#687086;text-align:center;padding:7px 4px;font-size:11px;font-weight:760}.weekday:first-child{color:#a83d49}.weekday:last-child{color:#4f5fb0}.calendar-grid{gap:7px}.calendar-spacer{aspect-ratio:1/.86}.day-cell{aspect-ratio:1/.86;border:1px solid var(--line);background:var(--paper);min-width:0;color:var(--ink);cursor:pointer;border-radius:13px;flex-direction:column;justify-content:space-between;align-items:center;padding:8px 5px 7px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;position:relative}.day-cell:hover:not(:disabled){z-index:1;border-color:#c9c7ed;transform:translateY(-1px);box-shadow:0 7px 16px #2e2b4914}.day-cell:focus-visible,.tab-button:focus-visible,.month-button:focus-visible,.icon-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.activity-confirm-button:focus-visible,.danger-button:focus-visible,.text-danger-button:focus-visible,.vote-option:focus-within,select:focus-visible{outline-offset:2px;outline:3px solid #5d5fef45}.day-cell:disabled{cursor:default;opacity:.4}.primary-button:disabled,.secondary-button:disabled,.month-button:disabled,select:disabled{cursor:not-allowed;opacity:.55}.day-cell.today{border-color:#8f8ff5}.day-cell.today:after{background:var(--violet);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:5px;right:5px}.day-cell.pending{border-style:dashed;border-width:2px}.day-cell.pending:before{background:var(--violet-dark);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:5px;left:5px}.day-cell.available{background:var(--available-soft);border-color:#b9e3d3}.day-cell.confirmed{background:linear-gradient(145deg,#e0f6ec,#f4fbf8);border-color:#78c9aa;box-shadow:inset 0 0 0 1px #187a551f}.day-cell.tentative{background:var(--tentative-soft);border-color:#f0d59a}.day-cell.unavailable{background:var(--unavailable-soft);border-color:#efc3c8}.day-cell.waiting{background:#fbfbfd}.day-cell.insufficient{background:#f3f4f8;border-color:#cfd3df}.day-number{align-self:flex-start;padding-left:2px;font-size:12px;font-weight:720}.day-symbol{margin:auto 0;font-size:clamp(18px,2.5vw,25px);font-weight:820;line-height:1}.day-cell.available .day-symbol,.day-cell.confirmed .day-symbol{color:var(--available)}.day-cell.tentative .day-symbol{color:var(--tentative)}.day-cell.unavailable .day-symbol{color:var(--unavailable)}.day-cell.waiting .day-symbol{color:var(--waiting)}.day-cell.insufficient .day-symbol{color:#62697e}.day-meta{color:#5c6278;text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:13px;font-size:9px;font-weight:690;overflow:hidden}.day-counts{text-overflow:clip;grid-template-rows:1fr;grid-auto-flow:column;gap:4px;display:grid;overflow:visible}.day-counts>span{white-space:nowrap}.legend{background:#f8f8fb;border-radius:15px;flex-wrap:nowrap;justify-content:center;gap:9px 18px;margin:24px 30px 0;padding:17px;display:flex}.legend-item{color:#686d80;align-items:center;gap:6px;font-size:11px;font-weight:660;display:inline-flex}.legend-item>span{min-width:0;line-height:1.3}.legend-symbol{font-size:15px;font-weight:820}.legend-symbol.available,.legend-symbol.confirmed{color:var(--available)}.legend-symbol.tentative{color:var(--tentative)}.legend-symbol.unavailable{color:var(--unavailable)}.legend-symbol.waiting{color:var(--waiting)}.legend-symbol.insufficient{color:#62697e}.roster-chip{border-radius:999px;flex:none;align-items:center;min-height:32px;padding:6px 10px;font-size:10px;font-weight:780;display:inline-flex}.roster-chip.ready{background:var(--available-soft);color:var(--available)}.roster-chip.short{background:var(--waiting-soft);color:#62697e}.membership-content{padding:0 30px 30px}.membership-heading{background:linear-gradient(90deg,#f1f4ff,#f1f4ff00);border-left:4px solid #7484dc;align-items:center}.membership-heading .view-context-label{color:#495bb6;background:#e8edff}.activity-totals-card{background:linear-gradient(145deg,#fbfaff,#f8fbfa);border:1px solid #d8d7f4;border-radius:17px;margin-bottom:24px;padding:20px}.activity-totals-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.activity-totals-heading h3,.management-section-heading h3{margin:0;font-size:15px}.activity-totals-heading p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.55}.management-loading{color:var(--muted);flex:none;font-size:10px;font-weight:720}.activity-totals-error{margin:0}.activity-totals-visibility,.activity-totals-stat,.activity-totals-result{border-radius:13px;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;display:flex}.activity-totals-visibility{background:var(--paper);border:1px solid #dddcf3}.activity-totals-visibility>div{gap:3px;display:grid}.activity-totals-visibility strong,.activity-totals-stat strong,.activity-totals-result strong{font-size:12px}.activity-totals-visibility>div>span,.activity-totals-stat>span,.activity-totals-result>span{color:var(--muted);font-size:10px;font-weight:680}.activity-totals-stat{background:#f2f4f8;margin-top:10px}.switch-control{flex:none;display:inline-flex;position:relative}.switch-control input{opacity:0;width:1px;height:1px;position:absolute}.switch-control>span{cursor:pointer;background:#c9ccd6;border-radius:999px;width:42px;height:24px;transition:background .15s;display:block;position:relative}.switch-control>span:after{background:var(--paper);content:"";border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #20253c33}.switch-control input:checked+span{background:var(--available)}.switch-control input:checked+span:after{transform:translate(18px)}.switch-control input:focus-visible+span{outline-offset:2px;outline:3px solid #5d5fef45}.switch-control input:disabled+span{cursor:not-allowed;opacity:.55}.activity-totals-form{margin-top:16px}.activity-totals-form fieldset{border:0;min-width:0;margin:0;padding:0}.activity-totals-form legend{margin-bottom:9px;padding:0;font-size:12px;font-weight:760}.activity-adjustment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.activity-adjustment-grid label{border:1px solid var(--line);background:var(--paper);border-radius:12px;align-items:center;gap:7px;min-width:0;padding:8px 10px;display:flex}.activity-adjustment-grid input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:14px;font-weight:760}.activity-adjustment-grid span{color:var(--muted);flex:none;font-size:10px}.activity-totals-validation,.management-permission-note{color:var(--unavailable);margin:8px 2px 0;font-size:10px;line-height:1.5}.management-permission-note{color:var(--muted)}.activity-totals-result{background:var(--available-soft);margin:12px 0}.activity-totals-result strong{color:var(--available)}.activity-totals-result.read-only{margin-bottom:0}.activity-totals-form>.primary-button{width:100%}.management-section-heading{margin:0 0 12px;padding-top:2px}.roster-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px;display:grid}.roster-stat{border:1px solid var(--line);background:#fafafd;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.roster-stat span{color:var(--muted);font-size:11px;font-weight:680}.roster-stat strong{color:var(--ink);font-size:19px}.membership-error{margin:0 0 18px}.membership-callout,.vote-card{background:#faf9ff;border:1px solid #d8d7f4;border-radius:16px;margin-bottom:20px;padding:18px}.membership-callout h3,.vote-card h3,.member-directory h3{margin:0;font-size:14px}.membership-callout p,.vote-card p{color:var(--muted);margin:7px 0 16px;font-size:11px;line-height:1.6}.membership-callout .primary-button{width:100%}.membership-warning,.membership-note{background:var(--waiting-soft);border-radius:10px;padding:10px 12px;color:#62697e!important}.vote-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.vote-heading p{margin-bottom:0}.vote-status{background:var(--violet-soft);color:var(--violet-dark);border-radius:999px;flex:none;padding:6px 9px;font-size:10px;font-weight:780}.vote-status.passed{background:var(--available-soft);color:var(--available)}.vote-status.rejected,.vote-status.cancelled{background:var(--waiting-soft);color:#62697e}.vote-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0;display:grid}.vote-facts>div{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:11px 12px}.vote-facts dt,.vote-facts dd{margin:0;font-size:10px;line-height:1.5}.vote-facts dt{color:var(--ink);font-weight:720}.vote-facts dd{color:var(--muted);margin-top:3px}.vote-form fieldset{border:0;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 10px;padding:0;display:grid}.vote-option{border:1px solid var(--line);background:var(--paper);color:#606579;cursor:pointer;border-radius:11px;align-items:center;gap:9px;min-height:44px;padding:10px 12px;font-size:11px;font-weight:700;display:flex}.vote-option.selected{background:var(--violet-soft);color:var(--violet-dark);border-color:#aaa8ed}.vote-option.selected.danger{background:var(--unavailable-soft);color:#a83d49;border-color:#e8adb4}.vote-option input{width:17px;height:17px;accent-color:var(--violet);flex:none}.vote-form .primary-button{width:100%}.member-directory{margin-top:22px}.membership-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.membership-row{border:1px solid var(--line);background:var(--paper);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:10px 12px;display:flex}.you-badge{background:var(--violet-soft);color:var(--violet-dark);border-radius:999px;padding:3px 7px;font-size:9px;font-weight:780}.text-danger-button{color:#aa414d;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:36px;padding:0 10px;font-size:10px;font-weight:720}.text-danger-button:hover:not(:disabled){background:var(--unavailable-soft)}.membership-leave{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.danger-button{color:#aa414d;cursor:pointer;background:#fff;border:1px solid #d75561;border-radius:12px;min-height:44px;padding:0 16px;font-weight:740}.danger-button:hover:not(:disabled){background:var(--unavailable-soft)}.danger-button:disabled,.text-danger-button:disabled{cursor:not-allowed;opacity:.55}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upcoming-section{border-top:1px solid var(--line);margin:26px 30px 30px;padding-top:24px}.section-title-row{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.section-title-row h3{margin:0;font-size:14px;font-weight:780}.section-title-row span{color:var(--muted);font-size:10px}.upcoming-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.upcoming-item{background:#f8fdfb;border:1px solid #dcefe7;border-radius:14px;align-items:center;gap:12px;padding:13px;display:flex}.upcoming-item.confirmed{background:#f1fbf7;border-color:#9bd7c0}.upcoming-date{background:var(--available-soft);width:38px;height:38px;color:var(--available);border-radius:11px;flex:none;place-items:center;font-size:13px;font-weight:820;display:grid}.upcoming-copy{min-width:0}.upcoming-copy strong,.upcoming-copy span{display:block}.upcoming-copy strong{text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:11px;overflow:hidden}.upcoming-copy .schedule-line{text-overflow:clip;white-space:pre-wrap;overflow:visible}.upcoming-copy span{color:var(--muted);font-size:9px}.manual-confirmation-badge{background:var(--available-soft);white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;margin-top:3px;padding:3px 6px;font-weight:780;line-height:1.2;color:var(--available)!important;font-size:9px!important;display:inline-flex!important}.empty-state{color:var(--muted);text-align:center;border:1px dashed #d7d8e2;border-radius:14px;grid-column:1/-1;padding:22px;font-size:12px}.calendar-error{background:var(--unavailable-soft);color:#a83d49;border:1px solid #efc3c8;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin:0 30px 18px;padding:12px 14px;font-size:11px;font-weight:680;display:flex}.calendar-error .secondary-button{flex:none;min-height:36px;padding:0 14px}.detail-backdrop,.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c1d2d57;position:fixed;inset:0}.detail-backdrop{justify-content:flex-end;display:flex}.detail-panel{background:var(--paper);width:min(92vw,420px);height:100%;padding:24px;animation:.18s ease-out slide-in;overflow:auto;box-shadow:-18px 0 60px #20223529}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}}.detail-top{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.detail-top h3{margin:0 0 6px;font-size:21px}.detail-time{color:var(--muted);font-size:12px;font-weight:680}.icon-button{border-radius:11px;flex:none;width:36px;height:36px;font-size:20px}.status-banner{background:var(--waiting-soft);color:#606578;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 18px;padding:13px 14px;font-size:12px;font-weight:740;display:flex}.status-banner.available{background:var(--available-soft);color:var(--available)}.status-banner.confirmed{background:var(--available-soft);color:var(--available);border:1px solid #9bd7c0}.status-banner-copy{gap:3px;display:grid}.status-banner-copy strong{font-size:inherit}.status-banner-copy small{color:#4e7567;font-size:10px;font-weight:650}.status-banner.tentative{background:var(--tentative-soft);color:var(--tentative)}.status-banner.unavailable{background:var(--unavailable-soft);color:var(--unavailable)}.status-banner.insufficient{background:var(--waiting-soft);color:#62697e}.member-list{gap:8px;margin-bottom:22px;display:grid}.member-row{border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.member-identity{align-items:center;gap:9px;min-width:0;display:flex}.member-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:680;overflow:hidden}.member-status{font-size:17px;font-weight:820}.member-status.available{color:var(--available)}.member-status.tentative{color:var(--tentative)}.member-status.unavailable{color:var(--unavailable)}.member-status.waiting{color:var(--waiting)}.button-stack{gap:9px;display:grid}.primary-button,.secondary-button,.activity-confirm-button{cursor:pointer;border-radius:12px;min-height:44px;font-weight:740}.primary-button{border:1px solid var(--violet);background:var(--violet);color:#fff}.primary-button:hover:not(:disabled){background:var(--violet-dark)}.secondary-button{border:1px solid var(--line);color:#606579;background:#fff}.secondary-button:hover:not(:disabled){background:#f8f8fb}.activity-confirm-button{border:1px solid var(--available);background:var(--available);color:#fff}.activity-confirm-button:hover:not(:disabled){background:#116544}.activity-confirm-button:disabled{cursor:not-allowed;opacity:.55}.override-note{color:var(--muted);background:#f8f8fb;border-radius:10px;margin:-8px 0 20px;padding:10px 12px;font-size:10px;line-height:1.55}.activity-control{background:#fafbfc;border:1px solid #dce1e7;border-radius:15px;margin-top:22px;padding:17px}.activity-control.confirmed{background:#f3fbf7;border-color:#9bd7c0}.activity-control-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:9px;display:flex}.activity-control h4{margin:0;font-size:14px}.activity-control p{color:var(--muted);margin:0 0 9px;font-size:10px;line-height:1.6}.activity-control .activity-audit{color:#4e7567;font-weight:680}.activity-control button{width:100%;margin-top:6px}.modal-backdrop{place-items:center;padding:18px;display:grid;overflow-y:auto}.time-modal{background:#fff;border-radius:20px;width:min(100%,410px);max-height:calc(100dvh - 36px);padding:24px;animation:.16s ease-out modal-in;overflow-y:auto;box-shadow:0 24px 80px #1e1e3140}.activity-confirmation-modal{background:#fff;border-radius:20px;width:min(100%,430px);max-height:calc(100dvh - 36px);padding:24px;animation:.16s ease-out modal-in;overflow-y:auto;box-shadow:0 24px 80px #1e1e3140}.activity-confirmation-modal h3{margin:0 0 5px;font-size:19px}.activity-confirmation-modal .activity-dialog-date{color:var(--muted);margin:0 0 18px;font-size:12px;font-weight:680}.activity-confirmation-modal #activity-confirmation-description p{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.65}.membership-modal{background:#fff;border-radius:20px;width:min(100%,430px);max-height:calc(100dvh - 36px);padding:24px;animation:.16s ease-out modal-in;overflow-y:auto;box-shadow:0 24px 80px #1e1e3140}.membership-modal h3{margin:0 0 9px;font-size:18px}.membership-modal p{color:var(--muted);margin:0 0 22px;font-size:12px;line-height:1.65}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.time-modal h3{margin:0 0 5px;font-size:19px}.time-modal>p{color:var(--muted);margin:0 0 22px;font-size:12px}.time-fields{grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;margin-bottom:20px;display:grid}.time-field label{color:#696e81;margin-bottom:7px;font-size:10px;font-weight:720;display:block}.time-field select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:11px;padding:0 12px}.time-separator{color:var(--muted);padding-bottom:12px}.modal-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.error-text{color:var(--unavailable);margin:-8px 0 14px;font-size:11px}.creator-credit-rail{z-index:10;bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;justify-content:flex-end;width:min(100%,1080px);padding-inline:28px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.creator-credit{color:#5f6476;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #dedfe9e6;border-radius:999px;max-width:100%;padding:7px 12px;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden;box-shadow:0 8px 24px #2d274914}.creator-credit strong{color:#41465a;font-weight:800}.link-bootstrap{place-items:center;min-height:100svh;padding:24px;display:grid}.link-bootstrap-card{border:1px solid var(--line);width:min(100%,560px);box-shadow:var(--shadow);text-align:center;background:#fffffff0;border-radius:22px;padding:30px}.link-bootstrap-card .brand-icon{border-radius:16px;width:52px;height:52px;margin:0 auto 18px;display:block;box-shadow:0 9px 24px #1a2a5b33}.link-bootstrap-card p{color:#5f6476;margin:8px 0 0;font-size:13px;font-weight:600;line-height:1.6}.toast{z-index:40;left:50%;bottom:max(62px, calc(env(safe-area-inset-bottom) + 52px));color:#fff;background:#24263b;border-radius:999px;padding:10px 15px;font-size:11px;font-weight:700;animation:.16s ease-out toast-in;position:fixed;transform:translate(-50%);box-shadow:0 10px 34px #191b2c40}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,7px)}}@media (max-width:720px){.app-shell{padding:16px 12px 76px}.app-header{gap:10px;margin-bottom:16px}.brand{gap:9px}.brand h1{white-space:nowrap;font-size:16px}.brand-logo{border-radius:12px;width:40px;height:40px}.brand p,.viewer-chip>span:not(.avatar){display:none}.version-badge{min-height:19px;padding-inline:6px;font-size:9px}.creator-credit-rail{bottom:max(8px, env(safe-area-inset-bottom));padding-inline:12px}.creator-credit{padding:6px 10px;font-size:10px}.viewer-chip{padding-right:8px}.header-controls{gap:6px}.language-picker{min-height:40px;padding:0 6px}.language-picker select{width:64px;font-size:10px}.app-card{border-radius:20px}.content-header{padding:22px 16px 16px}.tab-button{padding-inline:5px;font-size:11px}.tab-notice{top:7px;right:7px}.content-header h2{font-size:20px}.content-header p{max-width:250px;font-size:11px}.calendar-heading:lang(ko) p{word-break:keep-all;overflow-wrap:break-word}.autosave{padding:6px 8px;font-size:9px}.month-nav,.calendar-error{margin:0 16px 13px}.calendar-wrap{padding:0 10px}.calendar-grid{gap:4px}.day-cell{aspect-ratio:1/1.08;border-radius:10px;padding:6px 2px 5px}.calendar-spacer{aspect-ratio:1/1.08}.day-number{padding-left:3px;font-size:10px}.day-symbol{font-size:18px}.day-meta{font-size:7px}.day-counts{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,max-content);grid-auto-flow:row;justify-content:center;gap:0 4px;min-height:18px;line-height:1.25}.legend{margin:18px 16px 0;padding:13px 8px}.legend.all,.legend.mine{align-items:center;gap:9px 4px;display:grid}.legend.all{grid-template-columns:repeat(3,minmax(0,1fr))}.legend.mine{grid-template-columns:repeat(2,minmax(0,1fr))}.legend-item{text-align:center;justify-content:center;min-width:0;font-size:9px}.upcoming-section{margin:22px 16px 24px}.upcoming-list{grid-template-columns:1fr}.membership-content{padding:0 16px 24px}.activity-totals-card{padding:16px}.activity-totals-heading{gap:10px}.activity-totals-visibility,.activity-totals-stat,.activity-totals-result{gap:10px;padding:12px}.activity-adjustment-grid{gap:5px}.activity-adjustment-grid label{flex-direction:column;align-items:stretch;gap:3px;padding:8px}.membership-heading{flex-direction:column;align-items:stretch;gap:12px}.membership-heading .header-statuses{justify-content:flex-start;width:100%}.roster-summary,.vote-facts{grid-template-columns:1fr}.membership-row{flex-direction:column;align-items:flex-start}.text-danger-button{text-align:left;width:100%;min-height:40px}.membership-leave .danger-button{width:100%}.activity-control{padding:14px}}@media (max-width:390px){.brand-logo{border-radius:10px;width:34px;height:34px}.brand h1{font-size:14px}.language-picker>span{display:none}.tab-button{font-size:10px}.vote-form fieldset,.activity-confirmation-modal .modal-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
