/* Full-month schedule; uses the existing brand and shell. */
.schedule-page{max-width:720px;margin:auto}.schedule-switch,.schedule-manager-tabs{display:flex;gap:4px;padding:4px;border:1px solid #ffffff16;border-radius:15px;background:#080b08;margin:8px 0 18px}.schedule-switch button,.schedule-manager-tabs button{flex:1;min-width:0;min-height:44px;background:none;border:0;padding:8px 6px;font-size:14px;color:#aeb2a5;border-radius:11px}.schedule-switch .active,.schedule-manager-tabs .active{background:#292b21;color:#f2d599}.schedule-month{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0 12px}.schedule-month strong{font-size:21px}.schedule-month>div{display:flex;gap:4px}.schedule-month button{width:44px;height:44px;border:1px solid #ffffff16;border-radius:50%;font-size:26px;padding:0;background:transparent}.schedule-calendar{padding:15px 7px 9px;border:1px solid #ffffff19;background:#11150fe8;border-radius:24px}.schedule-week,.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.schedule-week span{font-size:11px;color:#909788;padding-bottom:9px}.schedule-day{min-width:0;height:58px;padding:0;border:0;background:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border-radius:13px}.schedule-day>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:16px}.schedule-day.mine>span{background:#e2bd7430;color:#f0cc80}.schedule-day.selected>span{background:#e5c17c;color:#11160d;font-weight:600}.schedule-day.today>span{box-shadow:inset 0 0 0 1px #e1bf7e}.schedule-day small{font-size:9px;line-height:11px;height:11px;color:#d0b781;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.schedule-day.wished:not(.selected)>span{box-shadow:inset 0 0 0 1px #aaa67b}.schedule-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#b7baad;margin:12px 4px}.schedule-note{font-size:13px;line-height:1.55;color:#a7afa0;margin:10px 0}.schedule-notice{padding:13px;border:1px solid #d6b97a36;background:#cda5540c;border-radius:15px;font-size:13px;line-height:1.55;margin:12px 0}.schedule-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:18px 0;border-bottom:1px solid #ffffff16}.schedule-stats>div{text-align:center}.schedule-stats strong{display:block;font-size:24px;color:#e4c17b}.schedule-stats small{font-size:10px;color:#a7afa0;display:block;margin-top:6px}.schedule-section{display:flex;gap:12px;align-items:baseline;justify-content:space-between;margin:24px 0 12px}.schedule-section h2{font-size:19px}.schedule-section>small{font-size:11px;color:#a7afa0}.schedule-rows{padding:4px 16px}.schedule-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #ffffff12}.schedule-row:last-child{border:0}.schedule-person{flex:1;min-width:0}.schedule-person strong{font-size:15px;overflow-wrap:anywhere}.schedule-person>small{display:block;color:#969d8c;font-size:12px;margin-top:4px}.schedule-you{display:block;color:#e6c57f;font-size:10px}.schedule-row-time{text-align:right;color:#e4c17b;font-size:16px;font-variant-numeric:tabular-nums}.schedule-row-time>small{display:block;font-size:10px;color:#969d8c}.schedule-row-time button{display:block;margin:6px 0 0 auto;min-height:44px;font-size:12px;padding:8px 12px}.schedule-subtitle{font-size:20px;margin:26px 0 12px}.schedule-request{padding:15px 0;border-bottom:1px solid #ffffff16}.schedule-request strong{font-size:14px;line-height:1.5;display:block}.schedule-request p{font-size:13px;line-height:1.6;margin:8px 0;overflow-wrap:anywhere}.schedule-request button{min-height:44px;font-size:13px}.schedule-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-body label{display:grid;gap:7px}.schedule-body h3{font-size:19px;margin:18px 0 12px}.schedule-body p{overflow-wrap:anywhere}.schedule-body input,.schedule-body select,.schedule-body textarea{width:100%;min-width:0;max-width:100%}.schedule-manager-tabs{position:sticky;top:0;z-index:2;background:#0c0e0cf5;flex-wrap:wrap}.schedule-template{display:grid;grid-template-columns:1fr 1fr .7fr 1fr 36px;align-items:end;gap:7px;margin:14px 0}.schedule-template label{font-size:11px}.schedule-template button{padding:4px}.schedule-weekend{display:flex;flex-wrap:wrap;gap:10px;border:1px solid #ffffff20;border-radius:14px;padding:14px}.schedule-weekend label{display:flex;align-items:center;gap:5px;min-height:44px}.schedule-weekend input{width:20px;min-height:20px}.schedule-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.schedule-actions .gold{grid-column:1/-1}.schedule-actions button{font-size:13px;min-height:44px;padding:9px}.schedule-error{color:#eab499;line-height:1.5;font-size:13px}.schedule-notification-details{border:1px solid #ffffff20;border-radius:15px;padding:14px;margin:18px 0}.schedule-notification-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.schedule-notification-details textarea{min-height:90px}.schedule-dialog #dialog-status:empty{display:none}.schedule-dialog #dialog-status button{min-height:44px;margin:10px 0}.schedule-dialog #dialog-status p{font-size:13px;line-height:1.5}.schedule-dialog .management-body{scroll-padding-bottom:24px}.schedule-footer button{min-height:44px}.schedule-sheet .management-body{padding-top:8px}
@media(max-width:600px){#dialog.schedule-sheet[open]{inset:auto 0 0;top:auto;height:auto;max-height:var(--management-height,100dvh);border-radius:24px 24px 0 0}#dialog.schedule-sheet[data-keyboard=true]{top:var(--management-top,0px);bottom:auto;height:var(--management-height,100dvh);border-radius:0}.schedule-template{grid-template-columns:1fr 1fr 60px}.schedule-template label:nth-child(4){grid-column:1/3}.schedule-template button{grid-column:3;grid-row:2}.schedule-body{padding-left:16px;padding-right:16px}}
@media(max-width:360px){.schedule-calendar{padding-left:2px;padding-right:2px}.schedule-day{height:54px}.schedule-month strong{font-size:18px}.schedule-row-time{font-size:14px}.schedule-section{display:block}.schedule-manager-tabs button{font-size:12px}.schedule-stats strong{font-size:21px}.schedule-template{gap:5px}.schedule-body{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){.schedule-page button,.schedule-dialog button{transition:none!important;animation:none!important}}
/* Explicit wishes are centered over the date; ordinary off days stay unmarked. */
.schedule-day>.schedule-date{position:relative}.schedule-day.wished>.schedule-date{background:transparent;color:#949b8a45;box-shadow:none}.schedule-cross{position:absolute;inset:0;display:grid;place-items:center;color:#e3be72;font:32px/1 Arial,sans-serif;font-style:normal;pointer-events:none}.schedule-day.wished.selected>.schedule-date{box-shadow:inset 0 0 0 1px #e4c27e}.schedule-choice{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:#0c120ca0;border:1px solid #ffffff1c;border-radius:18px;padding:15px;margin:9px 0;min-height:74px}.schedule-choice.chosen{background:#d6b36613;border-color:#d7b877}.schedule-choice>span{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid #aeb49330;border-radius:50%;font-size:24px;color:#e5c780}.schedule-choice strong{font-size:16px;font-weight:500}.schedule-choice small{display:block;color:#a5ae9b;font-size:12px;margin-top:5px}.schedule-row>.avatar,.schedule-request>.avatar{flex:none;width:42px;height:42px}.schedule-sheet .management-body{padding-bottom:max(24px,env(safe-area-inset-bottom))}.schedule-cross{transition:none!important}
#dialog.schedule-dialog .dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px}#dialog.schedule-dialog .dialog-head h2{margin:0;font-size:26px}#dialog.schedule-dialog .dialog-head>.close{flex:none;margin:0;width:42px;height:42px;border:1px solid #ffffff1c;border-radius:50%;background:transparent}
/* Team wishes, published days and the agreed compact calendar. */
.schedule-first-screen .schedule-calendar{padding:10px 5px 6px}.schedule-day{height:66px;gap:1px;min-height:44px}.schedule-day>.schedule-date{width:28px;height:28px;font-size:15px;flex:none}.schedule-day.mine>.schedule-date{box-shadow:inset 0 0 0 1.5px #e1be78;background:#e2bd7518;color:#f2d38d}.schedule-day.selected:not(.mine):not(.wished)>.schedule-date{background:#ffffff0b;color:inherit}.schedule-wish-marks{height:19px;display:flex;align-items:center;justify-content:center;max-width:100%;flex:none}.schedule-wish-avatar{width:18px;height:18px;display:block;border:1.5px solid #d77470;border-radius:50%;overflow:hidden;background:#283023}.schedule-wish-avatar.hours{border-color:#e0be6b}.schedule-wish-avatar+.schedule-wish-avatar{margin-left:-3px}.schedule-wish-avatar .avatar{width:100%!important;height:100%!important;border:0!important;font-size:7px!important;min-width:0;min-height:0;object-fit:cover}.schedule-wish-more{font-size:8px;background:#22291e;border:1px solid #6c634a;border-radius:50%;width:18px;height:18px;display:grid;place-items:center}.schedule-collection-caption{font-size:11px;line-height:1.4;color:#abb29e;margin:6px 0}.schedule-first-screen .schedule-month{margin:8px 0}.schedule-first-screen .schedule-stats{padding:12px 0;margin:10px 0 0;border-top:1px solid #ffffff16}.schedule-extra-stats{font-size:11px;color:#abb29e;text-align:center;margin:5px 0}.schedule-collection-info{font-size:12px;color:#b7baad}.schedule-collection-info summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.schedule-slot-label{grid-column:1/-1}.schedule-template{padding:14px;border:1px solid #ffffff1c;border-radius:16px;grid-template-columns:1fr 1fr 60px}.schedule-template label:nth-child(4){grid-column:1/3}.schedule-template button{grid-column:3;grid-row:2;min-height:44px}.schedule-range-picker{padding:12px;border:1px solid #ffffff1c;border-radius:16px;margin:10px 0}.schedule-range-picker summary{min-height:44px;cursor:pointer;line-height:1.5;font-size:14px}
@media(max-width:600px){body:has(.schedule-page) .app-header{padding:12px 0 14px}body:has(.schedule-page) .page-heading{margin-bottom:8px}body:has(.schedule-page) .page-heading h1{font-size:26px}.schedule-first-screen .schedule-day{height:clamp(52px,calc((100svh - 350px - env(safe-area-inset-top) - env(safe-area-inset-bottom))/var(--schedule-weeks)),66px)}.schedule-first-screen .schedule-stats strong{font-size:22px}.schedule-first-screen .schedule-stats small{margin-top:3px}}
.schedule-day>.schedule-wish-marks{display:flex;flex-direction:row;gap:0;width:auto;height:19px;min-height:19px;background:transparent!important;box-shadow:none!important;border-radius:0;color:inherit;font-size:inherit}.schedule-day .schedule-wish-avatar{display:block;flex:none}
@media(max-width:600px) and (max-height:740px){body:has(.schedule-page) .app-header{padding:8px 0}body:has(.schedule-page) .page-heading h1{font-size:24px}.schedule-first-screen .schedule-month{margin:4px 0}.schedule-first-screen .schedule-day{height:48px;min-height:48px;gap:0}.schedule-first-screen .schedule-date{width:24px;height:24px;font-size:14px}.schedule-first-screen .schedule-day>small{height:9px;line-height:9px;font-size:8px}.schedule-first-screen .schedule-day>.schedule-wish-marks{height:14px;min-height:14px}.schedule-first-screen .schedule-wish-avatar,.schedule-first-screen .schedule-wish-more{width:14px;height:14px}.schedule-first-screen .schedule-stats{padding:8px 0;margin-top:7px}.schedule-first-screen .schedule-stats strong{font-size:20px}}
/* 3.17.3 — unified graphite calendar, lamps, compact working surfaces. */
.schedule-calendar{background:linear-gradient(145deg,#1b2117eb,#0d120de8);border-color:#c4b18026;box-shadow:inset 0 1px 0 #ffffff06}.schedule-grid{gap:3px}.schedule-day.past{background:#ffffff0d;border:1px solid #ffffff0b}.schedule-day.collecting{background:#b7994d23;border:1px solid #c8aa6640}.schedule-day.done{background:#83a27016}.schedule-day.done>.schedule-date{border-color:#99b78b;color:#bfceaf;box-shadow:inset 0 0 0 1px #9abf9360}.schedule-done{position:absolute;right:-4px;bottom:0;width:12px;height:12px;background:#254332;color:#b6dfb0;border-radius:50%;box-shadow:0 0 0 2px #141b12;font:9px/12px Arial;text-align:center;font-style:normal}.schedule-day.done small{color:#a5c695}.schedule-day.limited small{color:#e5c58b}.schedule-day small:empty{display:none}.schedule-day>.schedule-wish-marks{margin-top:0}.schedule-day>.schedule-wish-marks:empty{display:none}.schedule-first-screen .schedule-day{justify-content:flex-start;padding-top:4px}.schedule-stats{grid-template-columns:repeat(var(--stat-count,5),minmax(0,1fr));gap:0}.schedule-stats>div+div{border-left:1px solid #ffffff0b}.schedule-stats small{font-size:9px}.schedule-first-screen .schedule-stats strong{font-size:21px}.schedule-wish-group{padding:12px 0 16px;border-bottom:1px solid #ffffff13}.schedule-wish-group h4{font-size:13px;color:#dbbf7e;margin:0 0 12px}.schedule-wish-people{display:flex;gap:16px;overflow-x:auto;overscroll-behavior:contain;padding:3px 2px 7px}.schedule-wish-person{flex:0 0 58px;display:flex;align-items:center;flex-direction:column;gap:7px;font-size:11px;text-align:center;overflow-wrap:anywhere}.schedule-wish-person .avatar{width:38px;height:38px;flex:none;border:1px solid #bba16b50;box-shadow:0 0 0 3px #c6b1740a}.schedule-day-card{display:flex;gap:12px;padding:13px 12px;margin:12px 0;border:1px solid #af9a6438;border-radius:18px;background:linear-gradient(125deg,#262a1ccc,#10170eea);box-shadow:inset 0 1px 0 #ffffff08}.schedule-card-date{flex:0 0 43px;text-align:center;border-right:1px solid #c5ac7138;padding-right:9px}.schedule-card-date strong{display:block;font-size:25px;color:#e3c582}.schedule-card-date span{display:block;font-size:10px;color:#afb69f;margin-top:5px;line-height:1.6}.schedule-card-team{flex:1;min-width:0}.schedule-card-team .schedule-row{gap:7px;padding:9px 0}.schedule-card-team .avatar{width:28px;height:28px;flex:none}.schedule-card-team .schedule-person strong{font-size:13px}.schedule-card-team .schedule-person button{font-size:10px;min-height:44px;padding:5px 0;background:none;border:0;color:#bcb194;text-align:left}.schedule-card-team .schedule-row-time{font-size:12px;white-space:nowrap}.schedule-card-team>button{font-size:11px;padding:8px;min-height:44px;margin-top:7px}.schedule-card-team details{margin-top:8px}.schedule-card-team summary{font-size:11px;color:#b2b9a2;min-height:44px;display:flex;align-items:center;cursor:pointer}.schedule-day:disabled{opacity:.35}.schedule-export-entry{margin:28px 0 15px;border-top:1px solid #ffffff15;padding-top:20px}.schedule-export-entry>button{width:100%}#schedule-export-result textarea{width:100%;min-height:220px;margin:12px 0}#schedule-export-result button{width:100%}
#dialog.schedule-dialog::before{background-image:url('/scene-lamps.svg');opacity:.28}#dialog.schedule-dialog{min-width:0;overscroll-behavior:none}#dialog.schedule-dialog>.schedule-manager-tabs{position:static;flex:none;margin:10px 14px 0;background:#0c100c;z-index:2}#dialog.schedule-dialog>.management-body{overflow-y:auto;overflow-x:hidden;min-width:0;overscroll-behavior-y:contain}body:has(#dialog.schedule-dialog[open]){overflow:hidden}#dialog.schedule-dialog .schedule-footer{background:#10150fff}#dialog.schedule-dialog .dialog-head{background:#0b100bff}.schedule-card-team .schedule-wish-people{max-width:100%}
@media(max-width:600px){#dialog.schedule-dialog[open]{position:fixed;inset:0;margin:0;width:100%;max-width:100%;height:var(--management-height,100dvh);max-height:var(--management-height,100dvh);border-radius:0;border:0}#dialog.schedule-sheet[open]{inset:auto 0 0;height:auto;max-height:var(--management-height,100dvh);border-radius:24px 24px 0 0}.schedule-first-screen .schedule-day{height:clamp(50px,calc((100svh - 350px - env(safe-area-inset-top) - env(safe-area-inset-bottom))/var(--schedule-weeks)),66px)}.schedule-card-team .schedule-row-time{font-size:11px}}
@media(max-width:600px) and (max-height:740px){.schedule-first-screen .schedule-day{height:47px;min-height:44px;padding-top:2px}.schedule-first-screen .schedule-stats strong{font-size:19px}.schedule-first-screen .schedule-stats small{font-size:8px}.schedule-first-screen .schedule-calendar{padding-top:8px}}
@media(prefers-reduced-motion:reduce){.schedule-day,.schedule-day-card{animation:none!important;transition:none!important}}
.schedule-card-team .schedule-person strong,.schedule-card-team .schedule-person button{display:block}.schedule-card-team .schedule-person button{width:100%;margin-top:2px}.schedule-card-team .schedule-person{min-width:0}.schedule-card-team .schedule-person strong{overflow-wrap:anywhere}
/* 3.17.4: approved lamps / graphite composition. Scoped to the schedule. */
body:has(.schedule-page):before{background:linear-gradient(#080b0833,#080b0870),url('/scene-lamps.svg') right top/auto 100svh no-repeat,#080908}
.schedule-page{max-width:560px}.schedule-month{margin:14px 0 15px!important;gap:6px}.schedule-month .schedule-month-title{display:block;min-width:0}.schedule-eyebrow{display:block;font-size:8px;letter-spacing:2px;color:#a59b80;margin-bottom:6px}.schedule-month strong{font-size:20px;line-height:1.2}.schedule-month-controls{align-items:center;gap:0!important}.schedule-month-controls button{width:28px;min-width:28px;height:44px;min-height:44px;border:0;font-size:22px}.schedule-today-tag{font-size:10px;border:1px solid #c8ab6740;padding:7px 9px;border-radius:20px;color:#dfc990;white-space:nowrap}.schedule-first-screen .schedule-calendar{padding:12px 7px;border-radius:22px;background:linear-gradient(150deg,#1b2117b0,#0d120ddd)}.schedule-week{gap:3px}.schedule-week span{font-size:10px;padding-bottom:8px}.schedule-first-screen .schedule-day{height:61px;min-height:44px;padding:3px 0;gap:3px;border-radius:10px;justify-content:flex-start}.schedule-first-screen .schedule-date{width:27px;height:27px;font-size:14px}.schedule-first-screen .schedule-day>small{height:10px;line-height:10px;font-size:8px}.schedule-day.past{background:#ffffff0d;border:1px solid #ffffff0b}.schedule-day.past>.schedule-date{color:#b8c0ad}.schedule-day.done{background:#83a27016}.schedule-day.done>.schedule-date{color:#c1d2b9;background:#749c6c10}.schedule-day.today>.schedule-date{background:#dbc17e19;box-shadow:inset 0 0 0 1px #ddc184;color:#f1d590}.schedule-day.wished>.schedule-date{color:#949b8a45}.schedule-day>.schedule-offday{color:#929c89}.schedule-day.collecting{background:linear-gradient(145deg,#b7994d26,#b7994d12);border:1px solid #c8aa6633}.schedule-month-progress{display:flex;justify-content:space-between;color:#aeb9a1;font-size:10px;margin:12px 3px 0}.schedule-month-progress i{display:inline-block;width:5px;height:5px;background:#a3c393;border-radius:50%;margin-right:6px}.schedule-first-screen .schedule-stats{background:linear-gradient(100deg,#c5ad6807,transparent);border-top:1px solid #ffffff13;border-bottom:1px solid #ffffff0b;border-radius:12px;margin-top:11px;padding:13px 0}.schedule-first-screen .schedule-stats strong{font-size:23px}.schedule-first-screen .schedule-stats small{font-size:9px;margin-top:6px}.schedule-legend{font-size:9px;line-height:1.7;gap:3px 14px;margin:8px 2px 14px}.schedule-legend-done{color:#a4c697}.schedule-legend span:nth-child(3){flex-basis:100%}.schedule-period-heading{padding:8px 0 12px}.schedule-period-heading>strong{display:block;font-size:17px;line-height:1.35;font-weight:500}.schedule-period-heading>small{display:block;font-size:11px;color:#a6ae9b;margin-top:7px}.schedule-manager-tools{border-bottom:1px solid #ffffff15;margin-bottom:12px}.schedule-manager-tools>summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:12px;color:#c5bb9f;cursor:pointer}.schedule-day-card{background:linear-gradient(125deg,#262a1c80,#10170eaa);border-color:#af9a6426;padding:13px 11px;gap:10px;margin:11px 0;border-radius:17px}.schedule-card-date{flex-basis:46px;padding-right:11px;padding-top:4px}.schedule-card-date strong{font-size:24px;color:#e5c88b}.schedule-card-team .schedule-edit-row{width:100%;display:flex;text-align:left;background:transparent;border:0;border-bottom:1px solid #ffffff0c;border-radius:0;min-height:54px;padding:6px 0;margin:0;gap:10px}.schedule-card-team .schedule-edit-row:last-of-type{border-bottom:0}.schedule-card-team .schedule-edit-row .avatar{width:25px;height:25px;box-shadow:0 0 0 3px #ffffff04}.schedule-card-team .schedule-person strong{font-size:12px;font-weight:600;line-height:1.4}.schedule-edit-label{font-size:9px;color:#a49a7a;display:block;margin-top:4px}.schedule-card-team .schedule-row-time{font-size:11px;line-height:1.5}.schedule-card-team .schedule-row-time small{font-size:8px}.schedule-card-team .schedule-card-add{padding:5px 8px;min-height:44px;margin:4px 0 0;font-size:10px;border:0;background:transparent;color:#c3b48d}.schedule-card-team .schedule-card-wishes{margin:0}.schedule-card-wishes>summary{min-height:36px;font-size:10px}.schedule-wish-group{padding:12px 0 18px}.schedule-wish-group h4{display:flex;align-items:center;gap:8px;font-weight:500}.schedule-wish-group h4:before{content:'';width:4px;height:4px;border-radius:50%;background:#dabd76;flex:none}.schedule-wish-people{gap:22px}.schedule-wish-person{flex-basis:46px}.schedule-wish-person .avatar{width:39px;height:39px}.schedule-choice{border-radius:13px;min-height:58px;padding:13px;gap:10px;background:#ffffff03}.schedule-choice>span{border:0;width:26px;height:26px;font-size:21px}.schedule-choice strong{font-size:13px}.schedule-choice small{font-size:11px}.schedule-edit-row:focus-visible{outline:2px solid #e2be78;outline-offset:2px}
#dialog.schedule-dialog{background:linear-gradient(#0d130dd9,#0b100bf2),url('/scene-lamps.svg') right top/auto 100% no-repeat,#0b100b}#dialog.schedule-dialog::before{display:none}#dialog.schedule-dialog .dialog-head{background:linear-gradient(#0b100bcc,#0b100b70);border-bottom:1px solid #ffffff10}#dialog.schedule-dialog .dialog-head h2{font-size:23px}#dialog.schedule-dialog>.schedule-manager-tabs{margin:10px 16px 0;background:#0c100cbf}#dialog.schedule-sheet .dialog-head{padding-top:23px}#dialog.schedule-sheet .dialog-head:before{content:'';position:absolute;top:7px;left:calc(50% - 17px);width:34px;height:3px;border-radius:3px;background:#ffffff25}
@media(max-width:600px){body:has(.schedule-page) .app-v3{padding-left:16px;padding-right:16px}body:has(.schedule-page) .app-header{padding:18px 0 20px}body:has(.schedule-page) .page-heading{padding-bottom:12px;border-bottom:1px solid #ffffff0b;margin-bottom:14px}body:has(.schedule-page) .page-heading h1{font-size:26px}.schedule-first-screen .schedule-day{height:clamp(44px,calc((100svh - 335px - env(safe-area-inset-top) - env(safe-area-inset-bottom))/var(--schedule-weeks)),61px)}}
@media(max-width:600px) and (max-height:740px){body:has(.schedule-page) .app-header{padding:8px 0 10px}body:has(.schedule-page) .page-heading{margin-bottom:8px;padding-bottom:8px}.schedule-month{margin:8px 0 10px!important}.schedule-first-screen .schedule-day{height:clamp(44px,calc((100svh - 310px - env(safe-area-inset-top) - env(safe-area-inset-bottom))/var(--schedule-weeks)),55px);gap:1px}.schedule-first-screen .schedule-stats{padding:9px 0;margin-top:8px}.schedule-first-screen .schedule-stats strong{font-size:21px}.schedule-month-progress{margin-top:8px}.schedule-first-screen .schedule-calendar{padding-top:9px;padding-bottom:8px}}
@media(max-width:360px){.schedule-month strong{font-size:18px}.schedule-today-tag{padding:6px;font-size:9px}.schedule-month-controls button{width:24px;min-width:24px}}
/* CSP blocks inline style attributes: responsive variables live in this stylesheet. */
.schedule-grid[data-weeks="4"]{--schedule-weeks:4}.schedule-grid[data-weeks="5"]{--schedule-weeks:5}.schedule-grid[data-weeks="6"]{--schedule-weeks:6}.schedule-stats[data-count="6"]{--stat-count:6}
.schedule-day.done>span,.schedule-day.done>small{opacity:1;text-decoration:none}
@media(max-width:600px) and (max-height:740px){.schedule-first-screen .schedule-day{height:44px}.schedule-first-screen .schedule-stats{padding:7px 0}.schedule-first-screen .schedule-stats small{margin-top:3px}.schedule-first-screen .schedule-calendar{padding-top:8px;padding-bottom:6px}.schedule-first-screen .schedule-date{width:24px;height:24px}.schedule-first-screen .schedule-day>.schedule-wish-marks{height:14px;min-height:14px}.schedule-first-screen .schedule-wish-avatar,.schedule-first-screen .schedule-wish-more{width:14px;height:14px}}
#dialog.management-editor.schedule-dialog[open]{background:linear-gradient(#0d130dc9,#0b100bf2),url('/scene-lamps.svg') right top/auto 100% no-repeat,#0b100b}
.schedule-card-tools{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}.schedule-card-team .schedule-card-add{margin:0;flex:none;padding:5px 0}.schedule-card-wishes{flex:1;min-width:100px}.schedule-card-wishes>summary{min-height:44px;justify-content:flex-end}.schedule-card-wishes[open]{flex-basis:100%}.schedule-card-wishes[open]>summary{justify-content:flex-start}
/* Manager workspace: one calendar, compact controls, one selected day. */
#schedule-workspace{min-width:0;padding-bottom:18px}
#schedule-workspace .management-body{height:auto;max-height:none;overflow:visible;padding:0;background:none}
#schedule-workspace .schedule-manager-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}
#schedule-workspace .schedule-manager-tabs button{min-height:42px;border-radius:18px;background:rgba(18,18,18,.76);border:1px solid rgba(255,255,255,.09);color:#bdbbb6;font-size:13px;padding:10px 6px}
#schedule-workspace .schedule-manager-tabs button.active{background:rgba(216,187,123,.14);border-color:rgba(216,187,123,.38);color:#ddc184}
#schedule-workspace .schedule-selected-summary,#schedule-workspace .schedule-day-card,#schedule-workspace .schedule-period-summary{background:linear-gradient(135deg,rgba(20,20,20,.88),rgba(7,7,7,.76));border:1px solid rgba(255,255,255,.09);border-radius:25px;padding:14px;margin:10px 0;box-shadow:none}
#schedule-workspace h3{font-size:17px;margin:0 0 8px}
#schedule-workspace .schedule-row{padding:10px 0;gap:9px;min-height:62px;background:none}
#schedule-workspace .schedule-row img,#schedule-workspace .schedule-row .avatar{width:34px;height:34px;flex-shrink:0}
#schedule-workspace .schedule-person strong{font-size:15px}
#schedule-workspace .schedule-row-time{font-size:13px;white-space:normal}
#schedule-workspace .schedule-row-time button{font-size:11px;min-height:32px;padding:6px 9px;color:#ddc184;border-radius:13px;max-width:130px}
#schedule-workspace .schedule-edit-label{font-size:11px;color:#ddc184;margin-left:auto}
#schedule-workspace .schedule-card-add{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:16px;margin-top:8px;background:rgba(216,187,123,.1);color:#ddc184}
#schedule-workspace .schedule-card-add span{font-size:20px}
#schedule-workspace details{margin:10px 0;padding:0;border:0;background:none}
#schedule-workspace summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;font-size:13px;font-weight:600;color:#c6c3ba;cursor:pointer}
#schedule-workspace summary::-webkit-details-marker{display:none}
#schedule-workspace summary::marker{content:''}
#schedule-workspace summary::after{content:'+';display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:rgba(216,187,123,.12);color:#ddc184;font-size:19px;font-weight:400}
#schedule-workspace details[open]>summary::after{content:'−'}
#schedule-workspace .schedule-wish-group{padding:8px 0;margin:0;background:none}
#schedule-workspace .schedule-wish-people{display:flex;flex-wrap:wrap;gap:8px}
#schedule-workspace .schedule-wish-person{display:flex;align-items:center;gap:6px;font-size:13px}
#schedule-workspace .schedule-wish-person img,#schedule-workspace .schedule-wish-person .avatar{width:28px;height:28px}
#schedule-workspace .schedule-footer{position:sticky;bottom:calc(88px + env(safe-area-inset-bottom));z-index:4;padding:10px;border-radius:22px;background:rgba(10,10,10,.96);border:1px solid rgba(255,255,255,.1);margin-top:12px}
#schedule-workspace .schedule-footer[hidden]{display:none}
#schedule-workspace .schedule-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#schedule-workspace .schedule-actions button{font-size:12px;padding:11px 8px;min-height:44px;border-radius:16px}
#schedule-workspace .schedule-draft-status{font-size:12px;color:#ddc184;padding:0 8px}
#schedule-workspace input,#schedule-workspace select,#schedule-workspace textarea{background:#131313;color:#f2f0eb}
@media(min-width:700px){#schedule-workspace .schedule-manager-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}}
#schedule-workspace{padding-bottom:92px}
#schedule-workspace .schedule-actions>.gold{grid-column:auto}
#schedule-workspace .schedule-actions>button{width:100%;margin:0}
#schedule-workspace .schedule-footer-period{font-size:11px;line-height:1.3;color:#aba69a;margin:0 3px 7px}
#schedule-workspace .schedule-selected-summary[data-compact=true]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 10px;padding:8px 14px;margin-bottom:0;border-bottom:0;border-radius:25px 25px 0 0}
#schedule-workspace .schedule-selected-summary[data-compact=true] h3{font-size:14px;line-height:1.35;margin:0}
#schedule-workspace .schedule-selected-summary[data-compact=true] .schedule-day-preferences{margin:0}
#schedule-workspace .schedule-selected-summary[data-compact=true] summary{font-size:12px;gap:7px}
#schedule-workspace .schedule-selected-summary[data-compact=true] .schedule-day-preferences[open]{grid-column:1/-1}
#schedule-workspace .schedule-selected-summary[data-compact=true]+.schedule-day-card{margin-top:0;border-top:0;border-radius:0 0 25px 25px;padding-top:4px}
#schedule-workspace .schedule-card-head>strong{font-size:13px;color:#b5b0a5;font-weight:500}

/* Primary planning action remains discoverable without entering settings. */
.schedule-generate-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.schedule-generate-entry>button{min-height:44px;padding:11px 18px;border-radius:18px;background:#dcbb7e24;border:1px solid #dcbb7e60;color:#ead5ab;font-weight:600}
.schedule-generate-entry>span{font-size:11px;line-height:1.4;color:#bcb9b0;flex:1;min-width:120px}

.schedule-generation-result{margin:0 0 12px;padding:12px 14px;background:#dcbb7e12;border:1px solid #dcbb7e33;border-radius:16px;font-size:13px;line-height:1.5;color:#e6d3b1}

/* Direct day editing uses the existing soft glass surface, never a second sheet. */
.schedule-direct-row{display:grid;gap:10px;margin:12px 0;padding:14px;border:1px solid rgba(220,187,126,.32);border-radius:24px;background:rgba(0,0,0,.28)}
.schedule-direct-person{display:flex;align-items:center;gap:12px;min-width:0}
.schedule-direct-person>label{flex:1;min-width:0}
.schedule-direct-person .avatar{flex-shrink:0}
.schedule-direct-row label{display:grid;gap:5px;font-size:12px;color:var(--muted,#aaa)}
.schedule-direct-row select,.schedule-direct-row input{width:100%;min-width:0;margin:0;min-height:44px;font-size:16px;background:rgba(0,0,0,.3);color:var(--text,#fff);border-radius:16px}
.schedule-direct-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end}
.schedule-direct-times button{grid-column:1/-1;min-height:44px;padding:10px 13px;border-radius:16px;font-size:13px}
.schedule-direct-remove{justify-self:start;background:none!important;border:0!important;color:var(--muted,#aaa);padding:8px;font-size:12px}
.schedule-selected-summary+.schedule-day-card{margin-top:8px}

.schedule-direct-row input[type=time]{padding:9px 8px;font-variant-numeric:tabular-nums}
.schedule-direct-times input::-webkit-calendar-picker-indicator{margin:0;padding:0;width:16px}

/* Manual planning belongs to the selected date; the month grid stays unchanged. */
#schedule-workspace #schedule-day-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin:12px 0;color:#ead5ab;background:#dcbb7e14;border:1px solid #dcbb7e70;border-radius:18px;font-size:14px}
#schedule-workspace .schedule-selected-summary[data-compact=true]>#schedule-day-add,
#schedule-workspace .schedule-day-add-form{grid-column:1/-1}
#schedule-workspace .schedule-day-add-form{margin:12px 0;min-width:0}
#schedule-workspace .schedule-day-add-form h3{font-size:16px}
#schedule-workspace .schedule-day-add-form .schedule-pair{margin:0}
#schedule-workspace .schedule-day-add-form button{min-width:0;white-space:normal;line-height:1.3}
