:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#193331;background:#f4f6f3;font-size:14px;--green:#176452;--line:#dce4dd}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:inherit;padding:9px 13px;border-radius:7px;font-weight:600}button:hover{background:#edf4ee}button:disabled{opacity:.45;cursor:default}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#104b3e}.danger{color:#a43131}input,select{padding:9px;border:1px solid #cbd7ce;border-radius:6px;background:white;max-width:100%}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:white;border-bottom:1px solid var(--line);gap:15px}.brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:750}.mark{background:#193f35;color:white;padding:11px;border-radius:10px;font-size:13px;letter-spacing:1px}.muted,small{color:#6c7d73}small{font-size:12px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.badge{border-radius:20px;padding:5px 10px;background:#eef3ed;font-size:12px;font-weight:650}.practice{background:#fff1ce;color:#785a13}main{max-width:1540px;margin:auto;padding:28px 32px}h1{font-size:29px;letter-spacing:-1px;margin:0 0 5px}h2{font-size:18px;margin:0 0 15px}h3{font-size:15px;margin:0 0 12px}p{line-height:1.6}nav{display:flex;gap:8px;margin:24px 0 20px;border-bottom:1px solid var(--line)}nav button{border:0;background:transparent;border-radius:0;padding:12px 16px}nav .active{border-bottom:3px solid var(--green);color:var(--green)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:18px}.turn{background:#eaf3ed;border-color:#c6dece}.turn strong{font-size:23px;display:block;margin:7px 0}.stats{display:flex;gap:35px;margin:18px 0 24px}.stats strong{font-size:24px;display:block}.stats small{text-transform:uppercase;letter-spacing:.7px;font-size:10px}.scroll{overflow:auto;max-height:650px}.calendar{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.calendar th{position:sticky;top:0;background:#f4f7f3;padding:12px;text-align:left;z-index:1}.calendar td{padding:10px;border-top:1px solid #e5ebe5;vertical-align:top}.calendar .date{min-width:137px}.date strong{display:block;font-size:13px}.date small{display:block;margin-top:4px}.slot{display:block;width:100%;margin-bottom:4px;font-size:11px;padding:7px 8px;min-width:78px;text-align:left;white-space:nowrap}.slot.town1{background:#eef0fd;border-color:#d6daf5}.slot.town2{background:#fff4e7;border-color:#f0dfc5}.slot.selected{outline:2px solid var(--green);background:#def0e4}.slot.taken{background:#f1f3f0;font-weight:500;opacity:1}.slot.mine{background:#d9eee0;color:#17533a}.weeknum{color:#92a198;font-size:11px;margin-right:6px}.queueitem{border:1px solid var(--line);border-radius:9px;padding:16px;margin:12px 0;display:flex;gap:14px;align-items:flex-start}.rank{background:#eef4ee;padding:6px 10px;border-radius:6px;font-weight:bold}.queueitem .content{flex:1}.queueitem p{margin:6px 0;font-size:12px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:12px;font-weight:600}label input,label select{display:block;width:100%;margin-top:6px}.check{display:flex;gap:8px;align-items:center;margin:10px 0}.check input{width:auto;margin:0}.empty{text-align:center;padding:30px;color:#77877d}.roster{width:100%;border-collapse:collapse}.roster td,.roster th{padding:8px;text-align:left;border-bottom:1px solid var(--line)}.roster input{width:74px}.roster select{width:80px}.person{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf0ed;gap:10px}.person.now{color:var(--green);font-weight:bold}.login{max-width:470px;margin:12vh auto;padding:32px}.login input{width:100%;margin:15px 0}.login button{margin:5px 0}.help{font-size:12px;line-height:1.6;background:#f4f7f3;padding:12px;border-radius:7px}.error{color:#a33434}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:#193f35;color:white;border-radius:8px;padding:12px 20px;display:none;z-index:10}.history{font-size:12px;padding:12px 0;border-bottom:1px solid var(--line)}.connection{font-size:11px;color:#6c7d73}.toolbar{margin-bottom:15px}.stack{display:flex;flex-direction:column;gap:10px}.inline{display:inline}.tiny{padding:4px 8px;font-size:12px}@media(max-width:950px){.layout{grid-template-columns:1fr}.layout aside{order:-1}.layout aside .ordercard{display:none}header{padding:12px 16px;height:auto}main{padding:20px 14px}.stats{gap:20px}.formgrid{grid-template-columns:1fr}h1{font-size:25px}.calendar td{padding:7px}.brand{font-size:14px}.headername{display:none}.login{margin:7vh 15px}}
/* Time away — warm paper, deep evergreen, spacious working surfaces. */
:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f7f8f5;color:#243e36;--green:#245c47;--line:#e2e7df;font-size:14px}body{background:#f7f8f5}button{transition:background .16s,border-color .16s,box-shadow .16s;border-radius:8px;min-height:38px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #cb9b40;outline-offset:3px}button:disabled{cursor:default}header{height:94px;padding:0 3.6vw;background:#fcfdfb}.brand{font-size:21px;letter-spacing:-.5px;gap:15px}.brand small{display:block;font-size:8px;letter-spacing:1.9px;margin-top:6px;font-weight:600}.mark{background:#244e3d;padding:12px;font-size:12px;display:flex;align-items:center;gap:9px;border-radius:9px;letter-spacing:.8px}.mark span{font-size:24px;color:#d6dcae}.avatar{width:36px;height:36px;border-radius:50%;background:#e9eddf;display:grid;place-items:center;font-weight:700;font-size:11px;margin-left:10px}.headername{font-size:12px;font-weight:650}.headername small{display:block;font-weight:400;margin-top:3px;font-size:10px}.quiet{background:none;border:0;color:#65746b;font-size:11px}header select{background:transparent;font-size:11px;border:0;font-weight:600}.practice{color:#8a6c32;background:#f5eddb;font-size:10px;letter-spacing:.4px;padding:6px 10px}.badge{font-size:10px;font-weight:600}main{max-width:1510px;padding:35px 3.6vw;margin:auto}.pageheading{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.8px;color:#7d8b70;margin-bottom:12px}h1{font-family:Georgia,"Times New Roman",serif;font-size:35px;font-weight:400;letter-spacing:-1.1px;line-height:1.2;margin-bottom:9px}.pageheading p{font-size:12px;margin:0}.connection{font-size:10px;white-space:nowrap;background:#edf2e9;border:1px solid #e2e9dc;border-radius:20px;padding:7px 10px;color:#52684d}.connection:before{content:'';display:inline-block;width:5px;height:5px;background:#5f9368;border-radius:50%;margin-right:6px}.summary{display:grid;grid-template-columns:repeat(4,1fr);margin:29px 0 21px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 8px #213b2a02}.summary>div{display:flex;align-items:center;gap:14px;padding:20px 23px;position:relative}.summary>div+div:before{content:'';position:absolute;left:0;height:35px;width:1px;background:var(--line)}.summary small{font-size:8px;letter-spacing:1.2px;font-weight:650}.summary strong{display:block;font-size:25px;font-weight:550;margin-top:5px;line-height:1}.summary strong span{font-size:10px;color:#889087;font-weight:400;margin-left:5px}.summary-icon{font-size:21px;border-radius:10px;background:#f0f3e9;color:#728061;display:grid;place-items:center;width:41px;height:43px}nav{margin:0 0 23px;gap:18px;border-bottom:1px solid #dfe5dc}nav button{font-size:12px;color:#839084;padding:14px 3px 13px;display:flex;align-items:center;gap:8px;font-weight:550}nav button:hover{background:transparent;color:#245c47}nav .active{border-bottom-width:2px}.navcount{font-size:9px;border-radius:5px;background:#e7edde;padding:2px 5px;color:#637258}.layout{grid-template-columns:minmax(0,1fr) 284px;gap:25px;align-items:start}.card{padding:23px;border-radius:12px;box-shadow:0 3px 7px #1e372202;margin-bottom:20px}h2{font-size:17px;font-weight:600;letter-spacing:-.3px}h3{font-size:13px;font-weight:650;margin:0}.muted{color:#7a867c}.toolbar p{font-size:11px;margin:6px 0 0}.toolbar{margin:0;padding:23px 24px 18px}.toolbar h2{margin:0}.calendarcard{padding:0;overflow:hidden}.availablecheck{font-size:10px;color:#7a867c;font-weight:400}.check input{accent-color:#245c47}.months{display:flex;gap:3px;padding:0 20px 18px;overflow:auto}.months button{min-height:31px;border:0;background:transparent;padding:6px 9px;font-size:10px;color:#7a867c;font-weight:500;white-space:nowrap}.months button.chosen{background:#245c47;color:#fff}.legend{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:12px 24px;background:#fafbf8;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:9px;color:#798477}.legend span{display:inline-flex;align-items:center;gap:6px}.legend small{font-size:9px;margin-left:auto;color:#939a91}.dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#799966;flex-shrink:0}.dot.town1{background:#a5a4c3}.dot.town2{background:#cfaa76}.calendar-scroll{max-height:730px}.calendar{font-size:11px}.calendar th{padding:12px 20px;font-size:8px;letter-spacing:1px;font-weight:650;color:#90998e;background:#fff}.calendar td{padding:13px 20px;border-top:1px solid #eef1e9;vertical-align:middle}.calendar .monthdivider td{padding:10px 20px;background:#f3f5ef;font-size:11px;font-weight:650;color:#5e725b;border:0}.monthdivider span{margin-left:8px;font-size:9px;font-weight:400;color:#9da594}.calendar .date{min-width:158px;width:29%}.date strong{font-size:13px;font-weight:600}.date small{font-size:9px;margin-top:5px;color:#959d92}.weeklabel{font-size:8px;background:#f3ebdd;color:#9b7944;padding:3px 6px;border-radius:4px;display:inline-block;margin-left:5px}.weeklabel.summer{background:#edf1dd;color:#849051}.weekrow:hover{background:#fafbf8}.availability{display:flex;align-items:center;gap:12px;padding:5px 0;border:0;background:transparent;font-size:9px;font-weight:400;color:#8e978a;min-height:32px;white-space:nowrap}.availability b{color:#536d49;font-weight:600}.availability:disabled{opacity:1}.availability:hover:not(:disabled){background:#eff4e9;box-shadow:0 0 0 6px #eff4e9}.slotdots{display:flex;gap:4px}.slotdot{height:11px;width:11px;border:1px solid #b9c9a7;background:#eef3e6;border-radius:3px}.slotdot.filled{background:#6c875b;border-color:#6c875b}.availability.selected{outline:2px solid #2a6448;outline-offset:5px;border-radius:3px}.pickednames{font-size:9px;color:#88927f;max-width:240px;line-height:1.6;margin-top:3px}.townslots{display:flex;gap:5px}.townslot{display:flex;align-items:center;gap:4px;min-height:27px;padding:4px 7px;font-size:9px;font-weight:500;border-radius:5px}.townslot:disabled{opacity:1;color:#8a8799;background:#f7f6fa}.townslot.town1{background:#f3f2fa;border-color:#e6e3f0;color:#807b9a}.townslot.town2{background:#fcf7ee;border-color:#f0e5d3;color:#a3865b}.townslot.selected{outline:2px solid #245c47;outline-offset:2px}.notavailable{color:#ccd2c7}.addweek{background:#f5f7f0;border:1px solid #e5eadd;font-size:13px;color:#688158;min-height:29px;padding:3px 8px;white-space:nowrap}.addweek span{font-size:9px}.calendar td:last-child{padding-left:0;width:68px}.calendarfoot{padding:14px 23px;font-size:10px;color:#8a9583;border-top:1px solid var(--line);background:#fcfdfb}.selectionbar{background:#eaf1e2;padding:18px 23px;display:flex;gap:15px;justify-content:space-between;align-items:center;border-bottom:1px solid #d3dfca}.selectionbar strong{display:block;font-size:12px;margin:7px 0}.selectionbar small{font-size:9px}.selectionbar button{font-size:10px}.turn{background:#244e3d;border-color:#244e3d;color:#fff;padding:24px;position:relative;overflow:hidden}.turn .eyebrow{color:#c0cba8;font-size:8px;letter-spacing:1.5px}.turn>strong{font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.15;letter-spacing:-.6px;margin:16px 0}.turn p{font-size:11px;line-height:1.8;color:#c1d0c3;margin:14px 0 20px}.light{background:#f3f3e6;color:#2c513d;border:0;font-size:11px;width:100%;font-weight:600}.light:hover{background:#e5ebd4}.ghost{color:#ced8c9;background:transparent;border-color:#51715a;font-size:10px;flex:1}.ghost:hover{background:#325c47}.coordinator-actions{display:flex;gap:8px;border-top:1px solid #486653;padding-top:18px;margin-top:20px}.coordinator-actions .light{width:auto;flex:1;font-size:10px}.suggestion{padding:14px;background:#355e49;border-radius:7px;margin-bottom:16px}.suggestion small{font-size:8px;color:#dae2c8}.suggestion .primary{background:#e7eddb;color:#24503b;font-size:10px}.balance h3{font-size:12px}.balance-number{font-family:Georgia,serif;font-size:37px;margin:17px 0 13px}.balance-number span{font-family:ui-sans-serif,system-ui;font-size:11px;color:#88927f}.balance progress{width:100%;height:5px;border:0;border-radius:5px;appearance:none}.balance progress::-webkit-progress-bar{background:#edf0e6;border-radius:5px}.balance progress::-webkit-progress-value{background:#7c9462;border-radius:5px}.balance progress::-moz-progress-bar{background:#7c9462}.balance p{font-size:10px;color:#89937f}.textlink{padding:0;min-height:25px;background:none;border:0;color:#5c7952;font-size:10px}.ordercard{padding:21px 0 0;overflow:hidden}.ordercard>.row{padding:0 21px 15px}.orderlist{max-height:365px;overflow:auto}.person{display:flex;align-items:center;padding:12px 21px;border:0;font-size:11px;gap:10px}.person:nth-child(even){background:#fcfdf9}.person.now{background:#edf3e6;color:#4e7443;font-weight:600;border-left:3px solid #7b9a60;padding-left:18px}.person small{font-size:9px;white-space:nowrap}.ordernumber{font-size:9px;color:#a0aa95;width:15px;flex-shrink:0}.personname{flex:1}.orderfoot{border-top:1px solid var(--line);padding:13px 21px;font-size:9px;color:#929c87}footer{display:flex;justify-content:space-between;padding:15px 0 5px;margin-top:20px;border-top:1px solid var(--line);color:#a1aa97;font-size:9px}.formgrid{gap:20px;margin-top:20px}.formgrid label{font-size:10px;color:#6c7d62;line-height:1.5}.formgrid select{padding:12px;font-size:12px;border-color:#dee4d5;border-radius:8px;margin-top:8px}.help{background:#f6f7f1;color:#7a886f;font-size:10px;padding:14px;line-height:1.8}.card>p.muted{font-size:12px;line-height:1.8}.autopick{position:relative;border:1px solid #dce6d1;padding:17px;background:#f4f7ed;border-radius:9px;flex-wrap:wrap;font-size:12px}.autopick span{width:100%;padding-left:25px;font-size:10px;font-weight:400}.autopick input{accent-color:#245c47;width:17px;height:17px}.queueitem{padding:20px;border-color:#e2e7db;border-radius:10px;margin-top:16px}.rank{background:#eef2e6;color:#708354;font-family:Georgia,serif;font-size:20px;width:38px;text-align:center;padding:7px}.queueitem strong{font-size:14px;font-weight:550}.queueitem p{color:#738265;font-size:10px}.queueitem small{font-size:9px;color:#98a18e}.queueitem .tiny{min-height:25px;color:#879476;border-color:#e9eddf}.empty{padding:42px 20px;font-size:12px}.empty h3{font-family:Georgia,serif;font-size:23px;font-weight:400;color:#6e805f;margin:15px 0 10px}.empty p{font-size:11px;line-height:1.8}.emptyicon{font-size:30px;background:#eef3e6;color:#8ea373;border-radius:12px;width:55px;height:55px;display:inline-grid;place-items:center}.roster{font-size:11px}.roster th{font-size:9px;color:#8d9980}.roster td{padding:11px 8px}.history{padding:18px 0;font-size:12px}.history strong{text-transform:capitalize}.history p{font-size:11px;color:#829273}.history small{font-size:10px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fbfcf8}.login-intro{background:#234d3b;color:#eaf0de;position:relative;overflow:hidden;padding:12vh 9vw}.login-intro .eyebrow{font-size:10px;color:#bac9a3}.login-intro h1{font-size:clamp(54px,6vw,88px);line-height:1.06;color:#f0f1de;letter-spacing:-3px;margin-top:10vh}.login-intro h1 em{font-weight:400;color:#c6d1a3}.login-intro p{font-size:13px;color:#bbccbc;line-height:1.9;margin-top:28px}.login{width:min(420px,85%);max-width:none;margin:auto;padding:36px 0;background:transparent;border:0;box-shadow:none}.login h1{font-size:37px}.login p{font-size:12px;line-height:1.8}.login .brand{font-size:15px}.login input{padding:14px;margin:10px 0 20px}.login label{font-size:11px;margin-top:25px}.login .primary{width:100%;padding:13px}.login hr{border:0;border-top:1px solid var(--line);margin:30px 0 20px}.login #demo{width:100%;font-size:11px}.login #participant,.login #demoperson{font-size:10px}.loginprivacy{display:block;margin-top:24px;font-size:10px;color:#9ba58f}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#notice{background:#294e3b;box-shadow:0 8px 30px #17301f25;font-size:12px;padding:15px 24px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#d6dfcd;border-radius:6px}@media(min-width:1500px){main{padding-left:40px;padding-right:40px}}@media(max-width:1150px){.layout{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.summary>div{padding:18px 15px;gap:9px}.summary strong span{display:block;font-size:9px;margin:7px 0 0}.calendar th,.calendar td{padding-left:14px;padding-right:14px}.months{padding-left:14px;gap:0}.months button{padding:6px 7px}.legend{gap:10px;padding:12px 15px}.legend small{display:none}.availability{gap:8px}.slotdots{gap:3px}.slotdot{width:9px;height:9px}.townslot span{display:none}h1{font-size:30px}}@media(max-width:900px){.layout{grid-template-columns:1fr}.layout aside{order:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.layout aside .ordercard{display:block;grid-column:1/-1}.orderlist{max-height:250px}.pageheading{align-items:flex-start}.connection{font-size:9px}.summary{grid-template-columns:repeat(4,1fr)}.summary-icon{display:none}.summary strong{font-size:23px}.calendar-scroll{max-height:660px}.townslot span{display:inline}.calendar .date{width:30%}.months{gap:4px}.months button{padding:7px 10px}.slotdot{width:11px;height:11px}.headername{display:none}.login-intro{padding:10vh 6vw}.login-intro h1{font-size:60px}}@media(max-width:600px){header{height:74px;padding:0 16px}.brand{font-size:17px}.brand small{font-size:6px;letter-spacing:1px}.mark{padding:9px;font-size:10px}.mark span{display:none}header .avatar{display:none}header .practice{display:none}header select{font-size:9px;padding:5px}.quiet{font-size:9px;padding:5px}main{padding:26px 14px}.pageheading{display:block}.pageheading .connection{display:inline-block;margin-top:15px}.eyebrow{font-size:8px}h1{font-size:30px;max-width:350px}.summary{grid-template-columns:1fr 1fr;margin:22px 0 16px}.summary>div{padding:17px 18px}.summary>div:nth-child(3),.summary>div:nth-child(4){border-top:1px solid var(--line)}.summary>div:nth-child(3):before{display:none}.summary strong span{display:inline;font-size:9px;margin-left:3px}.summary small{font-size:7px}.summary strong{font-size:24px}nav{gap:16px;overflow:auto;margin-bottom:19px}nav button{font-size:10px;white-space:nowrap;padding:12px 0}.navcount{font-size:8px}.toolbar{padding:20px 17px;align-items:flex-start}.toolbar h2{font-size:16px}.toolbar p{font-size:10px;max-width:180px}.availablecheck{font-size:9px;max-width:95px;margin:0}.months{padding:0 12px 16px}.legend{font-size:8px;gap:12px;padding:12px 16px}.calendar th{font-size:7px;padding:10px}.calendar td{padding:13px 10px}.calendar .date{min-width:104px;width:30%}.date strong{font-size:12px}.date small{font-size:8px}.weeklabel{display:block;margin:5px 0 0;width:max-content;max-width:100px;white-space:normal;font-size:7px}.availability{flex-direction:column;align-items:flex-start;gap:5px;font-size:8px}.slotdot{width:9px;height:9px}.townslots{flex-direction:column;gap:4px}.townslot{font-size:8px;padding:3px 5px;min-height:23px}.townslot span{display:none}.addweek{padding:3px 6px}.addweek span{display:none}.calendar td:last-child{width:36px;padding-right:10px}.calendar .monthdivider td{padding:10px}.calendarfoot{font-size:9px;padding:13px 15px}.layout aside{grid-template-columns:1fr;gap:0}.turn>strong{font-size:31px}.balance{display:none}.selectionbar{display:block;padding:15px}.selectionbar .row{margin-top:13px}.selectionbar button{font-size:10px}.card{padding:20px}.calendarcard{padding:0}.ordercard{padding:20px 0 0}.formgrid{grid-template-columns:1fr;gap:15px}.queueitem{padding:14px;gap:10px}.queueitem strong{font-size:12px}.queueitem .rank{font-size:17px;width:30px}.queueitem p{font-size:9px}.queueitem small{font-size:8px}#saveprefs{font-size:10px}.login-shell{grid-template-columns:1fr}.login-intro{padding:35px 30px}.login-intro h1{font-size:45px;margin:24px 0 15px;letter-spacing:-1px}.login-intro h1 br{display:none}.login-intro p{font-size:11px;margin:10px 0}.login{padding:35px 0}.login h1{font-size:32px}.login .brand{display:none}footer{font-size:8px;gap:10px}footer span{max-width:150px;text-align:right}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep meeting status and personal progress ahead of the working calendar. */
.draft-overview{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:24px;margin-bottom:24px}.draft-overview .card{margin:0}.draft-overview .turn{display:grid;grid-template-columns:1fr auto;column-gap:28px;padding:22px 26px}.draft-overview .turn>.eyebrow{grid-column:1;margin-bottom:0}.draft-overview .turn>strong{grid-column:1;font-size:28px;margin:9px 0}.draft-overview .turn>p{grid-column:1;font-size:11px;margin:0;max-width:580px}.draft-overview .coordinator-actions{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;justify-content:center;border-top:0;border-left:1px solid #486653;padding:0 0 0 22px;margin:0;min-width:155px}.draft-overview .coordinator-actions button{flex:initial;min-height:36px}.draft-overview .turn>.light{grid-column:1;margin-top:15px;width:max-content}.draft-overview .suggestion{grid-column:1/-1;margin:16px 0 0}.draft-overview .balance{display:block;padding:22px 26px}.draft-overview .balance-number{margin:12px 0;font-size:32px}.draft-overview .balance p{margin:9px 0 4px}.draft-overview .balance .textlink{min-height:20px}.layout aside{display:block;order:0}.layout .ordercard{display:block}.layout .orderlist{max-height:650px}@media(max-width:900px){.draft-overview{gap:16px;grid-template-columns:minmax(0,1.4fr) minmax(210px,1fr)}.draft-overview .turn{display:block}.draft-overview .coordinator-actions{border-left:0;border-top:1px solid #486653;padding:12px 0 0;margin-top:15px;flex-direction:row;justify-content:flex-start;min-width:0}.draft-overview .coordinator-actions button{flex:1}.layout .orderlist{max-height:260px}}@media(max-width:600px){.draft-overview{grid-template-columns:1fr;gap:12px;margin-bottom:18px}.draft-overview .turn{padding:18px 20px}.draft-overview .turn>strong{font-size:25px}.draft-overview .balance{padding:17px 20px;display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:center}.draft-overview .balance h3{font-size:11px}.draft-overview .balance-number{grid-column:2;grid-row:1/3;font-size:28px;margin:0}.draft-overview .balance progress{grid-column:1;grid-row:2;margin:10px 0}.draft-overview .balance p{grid-column:1;margin:0;font-size:9px}.draft-overview .balance .textlink{grid-column:2;font-size:9px}.draft-overview .balance-number span{font-size:9px}}

/* Audit: readable supporting text, visible focus and comfortable controls. */
.connection[data-connected="false"]{color:#85540d;background:#fff0cf}.connection[data-connected="false"]:before{background:#b97812;animation:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b27623;outline-offset:3px}
.pageheading .muted,.toolbar p,.calendarfoot,.date small,.queueitem p,.queueitem small{color:#59655d}
.summary small,.eyebrow,.calendar th,.legend,.date small,.weeklabel,.availability,.queueitem small,.calendarfoot{font-size:11px}
.months button,.addweek,.townslot{min-height:32px}.draft-overview .balance p,.draft-overview .balance .textlink{font-size:12px}
@media(max-width:600px){nav button{font-size:12px;min-height:44px}.months button{min-width:44px;min-height:44px}.townslot,.addweek{min-height:36px;min-width:36px}.legend{flex-wrap:wrap}.calendar th{font-size:10px}.weeklabel,.availability,.date small{font-size:10px}.queueitem p,.queueitem small,.toolbar p{font-size:12px}.summary small{font-size:10px}.summary strong span{font-size:11px}.quiet,header select{font-size:11px;min-height:36px}}

.brand small,.pageheading .eyebrow,.summary small,.summary strong span,nav button:not(.active),.balance-number span,.balance p,.availablecheck,.months button:not(.chosen),.legend,.calendar th,.calendar .monthdivider span,.availability>span,.ordernumber,.person small,.orderfoot,footer,footer span{color:#56644f}
.weeklabel{color:#775526}.weeklabel.summer{color:#52633a}.balance h2{font-family:inherit;font-size:13px;font-weight:600;margin:0}.draft-overview .balance h2{grid-column:1}.connection{font-size:11px}
@media(max-width:600px){.draft-overview .balance h2{font-size:12px}.brand small{font-size:7px;letter-spacing:.5px}.availability{min-height:36px}.balance-number span,.ordernumber,.person small,.orderfoot,footer{font-size:11px}}
.layout>section,.layout>aside,.calendarcard{min-width:0}@media(max-width:900px){.layout{grid-template-columns:minmax(0,1fr)}}
.months button{flex:0 0 auto}@media(max-width:600px){header>.row{justify-content:flex-end;gap:2px 8px}}
.muted,.help,.formgrid>label,.autotoggle .muted{color:#56644f}.help,.formgrid>label{font-size:12px}

#addpref .inactive-option{color:#747a73}#addpref .inactive-option select:disabled{background:#eef0eb;color:#747a73;border-color:#dfe3dc;cursor:not-allowed;opacity:1}

#partial-options{border:1px solid #dfe5d9;border-radius:12px;padding:18px;margin:20px 0;background:#fafbf8;min-width:0}#partial-options legend{font-size:13px;font-weight:600;padding:0 6px}#partial-options p{font-size:12px;color:#56644f;margin:0 0 12px}#partial-options:disabled{background:#f0f1ed;color:#747a73}#partial-options:disabled p{margin:0;color:#747a73}.partial-choice{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 0;border-top:1px solid #e3e7df}.partial-choice strong{display:block;font-size:13px}.partial-choice small{display:block;color:#56644f;font-size:12px;margin-top:4px}.partial-choice select{width:155px;flex-shrink:0;margin:0}

/* Persistent meeting context and confirmation, independent of calendar scrolling. */
html{scroll-padding-top:68px;scroll-padding-bottom:190px}#app:has(.meeting-strip){padding-top:52px}#app:has(.meeting-strip) main{padding-bottom:190px}
.meeting-strip{position:fixed;inset:0 0 auto;z-index:40;min-height:52px;display:flex;align-items:center;gap:16px;padding:10px 3.6vw;box-sizing:border-box;background:#294b3b;color:#fff;box-shadow:0 2px 12px #18362920;font-size:13px}.meeting-strip strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meeting-round{flex-shrink:0;border-right:1px solid #6d8879;padding-right:16px;color:#e9efdf}.meeting-status{color:#e9efdf;font-size:12px;white-space:nowrap}.meeting-room{margin-left:auto;border:1px solid #8ea295;border-radius:20px;padding:3px 10px;font-size:11px}
.selectionbar{position:fixed;inset:auto 0 0;z-index:40;box-sizing:border-box;max-height:40vh;overflow:auto;background:#f5f8ee;border-top:1px solid #c9d7bc;border-bottom:0;box-shadow:0 -5px 24px #18362918;padding:16px 3.6vw calc(16px + env(safe-area-inset-bottom));gap:20px}.selectionbar>div:first-child{min-width:0}.selectionbar strong{font-size:14px;line-height:1.5}.selectionbar small{font-size:12px;color:#43573d}.selectionbar .row{flex-shrink:0;margin:0;flex-wrap:nowrap}.selectionbar button{font-size:13px;min-height:44px;white-space:nowrap}body:has(.selectionbar) #notice{bottom:190px;z-index:50}
@media(max-width:600px){.meeting-strip{gap:9px;padding:10px 14px}.meeting-round{font-size:12px;padding-right:9px}.meeting-strip strong{font-size:13px}.meeting-status{font-size:10px}.meeting-room{display:none}.selectionbar{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.selectionbar strong{font-size:12px;margin:3px 0}.selectionbar small{font-size:10px}.selectionbar .row{justify-content:flex-end}.selectionbar #pick{flex:1}#app:has(.meeting-strip) main{padding-bottom:210px}}

/* Supporting controls beside the calendar; pinned strip carries meeting context. */
.layout aside .draft-overview{display:flex;flex-direction:column;gap:16px;margin:0 0 18px}.layout aside .draft-overview .turn{display:block;padding:22px}.layout aside .draft-overview .turn>strong{display:block;font-size:25px;margin:12px 0}.layout aside .draft-overview .turn>p{font-size:12px;line-height:1.6}.layout aside .draft-overview .coordinator-actions{display:flex;flex-direction:row;gap:8px;border-left:0;border-top:1px solid #6d8879;padding:15px 0 0;margin-top:17px;min-width:0}.layout aside .draft-overview .coordinator-actions button{flex:1;min-width:0;min-height:40px;font-size:11px;padding:8px}.layout aside .draft-overview .balance{display:block;padding:22px}.layout aside .draft-overview .balance-number{font-size:32px;margin:12px 0}.layout aside .draft-overview .balance progress{margin:10px 0}.layout aside .draft-overview .balance p{margin:8px 0}.layout aside .draft-overview .balance .textlink{margin-top:6px}.layout aside .draft-overview .suggestion button{white-space:normal}
@media(min-width:601px) and (max-width:900px){.layout aside .draft-overview{display:grid;grid-template-columns:1fr 1fr;align-items:start}}

/* Keep the meeting controls and preference suggestion, with less vertical padding. */
.pageheading{margin-bottom:18px}.pageheading h1{font-size:30px}.pageheading p{margin:6px 0 0}
.layout aside .draft-overview .turn{padding:18px}.layout aside .draft-overview .turn>strong{font-size:21px;margin:8px 0}.layout aside .draft-overview .turn>p{margin:8px 0}
.layout aside .draft-overview .balance{padding:18px}.layout aside .draft-overview .balance-number{font-size:28px;margin:8px 0}
@media(max-width:600px){.pageheading h1{font-size:26px}}

/* Make the primary sections read as distinct, easy-to-select tabs. */
nav[aria-label="Vacation planning"]{gap:8px;padding:7px;background:#e8eee5;border:1px solid #ced9ca;border-radius:12px;margin-bottom:20px}
nav[aria-label="Vacation planning"] button{flex:1 0 auto;justify-content:center;min-height:46px;padding:11px 16px;border:1px solid #d7dfd2;border-radius:8px;background:#fff;color:#40513e;font-size:13px;font-weight:650;white-space:nowrap}
nav[aria-label="Vacation planning"] button:hover{background:#f2f6ee;border-color:#8ba383;color:#214b39}
nav[aria-label="Vacation planning"] button.active{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 2px 4px #19333120}
nav[aria-label="Vacation planning"] button:focus-visible{outline:3px solid #a77524;outline-offset:2px}
nav[aria-label="Vacation planning"] .navcount{font-size:11px;padding:2px 6px}
nav[aria-label="Vacation planning"] button.active .navcount{background:#ffffff26;color:#fff}
@media(max-width:600px){nav[aria-label="Vacation planning"]{flex-wrap:wrap;gap:6px;padding:6px}nav[aria-label="Vacation planning"] button{padding:10px 12px;font-size:12px;flex-basis:calc(33.333% - 6px)}}

/* Let the full calendar grow with the page instead of scrolling inside a box. */
.calendarcard{overflow:visible}
.calendarcard .calendar-scroll{max-height:none;overflow:visible}
.calendarcard .calendar th{top:52px;z-index:2}
@media(max-width:600px){.calendarcard .calendar-scroll{overflow-x:auto}.calendarcard .calendar th{top:0}}

/* Show every partner in the page flow on desktop and mobile. */
.layout .orderlist{max-height:none;overflow:visible}

/* Coordinator-only connection details retain text labels as well as color. */
.presence{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:4px;font-size:11px;font-weight:500;line-height:1.5}.presence-state{display:inline-flex;align-items:center;gap:5px;color:#657065}.presence-state:before{content:"";width:6px;height:6px;border-radius:50%;background:#959e95}.presence-state.online{color:#216447}.presence-state.online:before{background:#32855b}.presence-auto{color:#4e5c8c}.presence-help{font-size:11px;line-height:1.5;margin:10px 0 0}
#correction fieldset{border:0;padding:0;margin:0;min-width:0}#correction fieldset:disabled{opacity:.6}#correction [hidden]{display:none}#correction .formgrid{margin-top:16px}
.turn-countdown{white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums;color:#fff}.turn-countdown.urgent{color:#ffe1a0;font-weight:750}.up-next{font-weight:650}.calendar-search{padding:0 20px 16px}.calendar-search input{font-weight:400}.mobile-shortcuts{display:none}#calendar-panel,#turn-panel,#order-panel{scroll-margin-top:115px}details{margin-top:16px}summary{cursor:pointer;font-weight:650;padding:8px 0}.setup-checklist{padding-left:20px;line-height:1.8}#turntimer input{max-width:180px}#turntimer button{margin-right:8px}
@media(max-width:600px){.mobile-shortcuts{display:flex;position:sticky;top:52px;z-index:15;gap:6px;padding:8px 0;background:#f4f6f3}.mobile-shortcuts button{flex:1;font-size:11px;min-height:40px;padding:6px}.meeting-status{display:none}.meeting-strip{gap:8px}.turn-countdown{margin-left:auto}.meeting-room{margin-left:0}}
/* Live coordinator workspace: meeting actions stay close to the information they affect. */
.dashboard-page{max-width:1700px}.dashboard-page .pageheading{margin-bottom:18px}.dashboard-page .pageheading h1{font-size:28px}.dashboard-layout{display:block}.dash-command{display:grid;grid-template-columns:minmax(220px,1fr) 170px 210px;gap:24px;align-items:center;background:#294b3b;color:#fff;padding:22px 26px;position:sticky;top:60px;z-index:18;box-shadow:0 5px 20px #19333115}.dash-command .eyebrow,.dash-command small{color:#dbe7d7}.dash-command h2{font-family:inherit;font-size:28px;margin:6px 0}.dash-command p{margin:6px 0;font-size:13px;color:#eff4eb}.dash-clock{display:flex;flex-direction:column;gap:5px;text-align:center}.dash-clock strong{font-size:32px;line-height:1.2}.dash-clock>span{font-size:11px;color:#dbe7d7}.dash-actions{display:grid;gap:8px}.dash-actions #toggle{background:#f3e9bc;border-color:#f3e9bc;color:#263e2c;min-height:46px;font-size:15px}.dash-actions button{font-size:12px}.dash-metrics{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:2px 4px 20px;color:#65705f;font-size:12px}.dash-metrics strong{color:#294b3b;font-size:15px}.dash-metrics .textlink{margin-left:auto}.dash-grid{display:grid;grid-template-columns:minmax(260px,1.05fr) minmax(310px,1.15fr) minmax(260px,.9fr);gap:18px;align-items:start}.dash-grid h2{font-family:inherit;font-size:17px}.dash-pick{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.dash-pick strong{font-size:14px}.dash-pick p{margin:6px 0 0;font-size:12px;line-height:1.6}.dash-pick button{flex-shrink:0;min-height:36px}.dash-pick .muted{font-size:10px}.dash-partner{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.dash-partner.current{background:#eff5e7;margin:0 -10px;padding:9px 10px;border-radius:7px}.dash-partner>div{flex:1;min-width:0}.dash-partner strong{font-size:12px}.dash-partner .presence{font-size:10px;margin-top:1px}.dash-partner>small{font-size:10px;white-space:nowrap}.dash-number{font-size:10px;width:17px;color:#64705d}.dash-partners>p{font-size:11px;line-height:1.5}.dash-event{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.dash-event small{display:block;margin-top:4px;font-size:10px}.dash-event p{font-size:11px}.dash-correction>.card{padding:0;border:0;margin:12px 0 0}.dash-correction .card>h2{display:none}#dashboard-correction{scroll-margin-top:280px}#dashboardpick fieldset{border:0;padding:0;margin:0;min-width:0}#dashboardpick fieldset:disabled{opacity:.55}#dashboardpick [hidden]{display:none}#dashboardpick label{margin-bottom:12px}#dashboardpick .formgrid{gap:10px}#dashboardpick select{font-size:12px}#dashboardpick .primary{width:100%}.dash-tools p{font-size:12px}.dash-undo p{margin-bottom:0}
@media(max-width:1150px){.dash-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dash-partners{grid-column:1/-1}.dash-partner-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px}.dash-command{grid-template-columns:1fr 130px 180px;gap:16px}}
@media(max-width:700px){.dash-command{grid-template-columns:1fr auto;padding:17px;gap:12px;top:52px}.dash-command h2{font-size:21px}.dash-command p,.dash-command small{font-size:11px}.dash-clock strong{font-size:24px}.dash-clock>span{font-size:10px}.dash-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.dash-actions #toggle{grid-column:1/-1;min-height:44px}.dash-actions button{min-height:36px}.dash-grid{grid-template-columns:1fr}.dash-tools{grid-row:1}.dash-partners{grid-column:auto}.dash-partner-list{grid-template-columns:1fr 1fr;gap:0 15px}.dash-metrics{gap:10px 20px}.dash-metrics .textlink{margin-left:0}.dash-command{position:static}.dashboard-page nav{margin-bottom:14px}#dashboard-correction{scroll-margin-top:65px}}
.dashboard-strip-pause{display:none}@media(max-width:700px){.dashboard-strip-pause{display:block;background:#f3e9bc;border-color:#f3e9bc;color:#263e2c;font-size:11px;padding:6px 9px;min-height:32px}.meeting-strip:has(.dashboard-strip-pause){gap:7px}.meeting-strip:has(.dashboard-strip-pause) .meeting-round{padding-right:7px}}
.dash-actions button{color:#294b3b}.dash-actions button:hover{background:#eef4e7}
.dash-own-suggestion{padding:12px;background:#eff5e7;border-radius:8px;margin-bottom:16px;font-size:12px}.dash-own-suggestion button{width:100%;font-size:12px}
.dash-activity{scroll-margin-top:260px}@media(max-width:700px){.dash-activity{scroll-margin-top:65px}}
/* Coordinator settings omit live monitoring and personal vacation summaries. */
.settings-layout{display:block;max-width:1080px;margin:0 auto}.coordinator-settings-page .pageheading{margin-bottom:18px}
#capacity .roster select{width:165px}#capacity .roster td:first-child{min-width:160px}#year{min-width:78px}#createyear input{max-width:160px}
#setup fieldset{border:0;padding:0;margin:0;min-width:0}#setup input[name^="name-"]{width:210px;max-width:100%;display:block;margin-bottom:6px}#setup td:first-child{min-width:110px}#invite-result input{width:100%;font-family:monospace}#setup fieldset:disabled{opacity:.65}
.roster-summary{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.roster-summary th,.roster-summary td{border:1px solid var(--line);padding:7px 5px;text-align:center}.roster-summary tbody th{text-align:left;font-weight:600;overflow-wrap:anywhere}.roster-summary th small{display:block;font-size:10px;font-weight:400;margin-top:3px}.roster-summary thead,.roster-summary tfoot{background:#f0f5ef;font-weight:700}.roster-summary .now{background:#e6f2e9}.roster-key{font-size:10px;margin-bottom:0}.roster-summary .presence-state{font-size:10px}#setup input[name^="district-"]{width:140px}
.addweek{white-space:nowrap}.addweek span{display:inline!important;font-size:10px}
.calendar-view-toggle{display:flex;gap:4px;background:#eef3ed;border-radius:9px;padding:4px;width:fit-content;margin-bottom:18px}.calendar-view-toggle button{border:0;background:transparent;font-size:12px}.calendar-view-toggle button[aria-pressed="true"]{background:#fff;box-shadow:0 1px 4px #19333122;color:#176452}.overview-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.overview-month{min-width:0;border:1px solid #dce4dd;border-radius:10px;overflow:hidden;align-self:start}.overview-month h3{margin:0;padding:10px 12px;background:#f0f4ee;font-size:12px}.overview-week{display:grid;grid-template-columns:75px 1fr 44px;gap:5px;align-items:center;width:100%;border:0;border-top:1px solid #edf0e9;border-radius:0;padding:9px 8px;text-align:left;background:white;min-height:45px}.overview-week:hover{background:#edf5ee}.overview-week-date{display:flex;gap:5px;align-items:center;font-size:10px}.overview-week-date strong{font-size:11px;color:#193f35}.overview-slot-group{display:flex;gap:3px;flex-wrap:wrap}.overview-dot{display:inline-block;width:8px;height:8px;border:1px solid #aebea5;border-radius:2px;background:#f6f8f2;flex-shrink:0}.overview-dot.taken{background:#176452;border-color:#176452}.overview-dot.town{border-color:#8575b6;border-radius:50%}.overview-dot.town.taken{background:#8575b6}.overview-count{font-size:10px;text-align:right;white-space:nowrap;color:#52664b}.overview-week.full{background:#f2e8e2}.overview-week.full .overview-count{color:#894c36;font-weight:700}.overview-week.nearly-full .overview-count{color:#a36517}.overview-week small{grid-column:1/-1;font-size:9px;color:#6f704e}.overview-key{display:flex;gap:14px;flex-wrap:wrap;font-size:10px;color:#66735e;margin:4px 0 18px}.overview-key span{display:flex;align-items:center;gap:5px}.year-overview h2{margin-bottom:3px}.year-overview .muted{font-size:12px;margin-top:3px}.summer-week small{color:#927031}@media(min-width:1650px){.overview-months{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.overview-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.overview-week{grid-template-columns:1fr auto;padding:9px 6px}.overview-slot-group{grid-row:2;grid-column:1/-1}.overview-count{grid-column:2;grid-row:1}.overview-week small{grid-row:3}.year-overview{padding:14px}.calendar-view-toggle button{font-size:11px;padding:8px}}
@media(min-width:1101px){.overview-months{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.overview-week{grid-template-columns:69px 1fr 38px;min-height:35px;padding:7px 6px}.overview-month h3{padding:8px 10px}.overview-dot{width:7px;height:7px}.overview-slot-group{gap:2px}.overview-week-date{font-size:9px}.overview-count{font-size:9px}}

.dash-grid[hidden]{display:none}
.live-sheet{margin-top:18px;padding:22px}
.live-sheet-scroll{overflow:auto;margin-top:18px;max-height:72vh;overscroll-behavior:contain}
.live-sheet-tables{display:flex;align-items:flex-start;gap:26px;width:max-content;padding:0 4px 10px}
.live-sheet table{border-collapse:collapse;font-family:Arial,sans-serif;font-size:12px;width:auto;table-layout:auto}
.live-sheet th,.live-sheet td{padding:5px 7px;height:29px;white-space:nowrap;text-align:left}
.live-sheet thead th{position:sticky;top:0;background:#eaf1ec;z-index:2;font-size:11px;color:#304e40}
.live-sheet .sheet-slot{border:1px solid #84948a;min-width:87px;text-align:center;background:#fff}
.live-sheet .sheet-town{background:#eeeaf5}
.live-sheet .sheet-slot button{border:0;background:transparent;padding:0;color:#184e37;font-size:12px;font-weight:600;border-radius:2px;min-height:0}
.live-sheet .sheet-slot button:hover{text-decoration:underline}
.live-sheet .sheet-slot small{display:block;font-size:9px;color:#716480}
.live-sheet .sheet-unused{border:0;background:transparent}
.live-sheet .sheet-date,.live-sheet .sheet-note{border:0;background:transparent}
.live-sheet .sheet-note{color:#6e6557;font-size:11px}
.live-sheet .live-roster-table td,.live-sheet .live-roster-table th{border:1px solid #84948a}
.live-sheet .sheet-current{background:#e2eee5}
@media(max-width:700px){.live-sheet{padding:14px}.live-sheet-scroll{max-height:70vh}.live-sheet .row{align-items:flex-start;gap:10px;flex-wrap:wrap}}
.live-dashboard:has(.live-sheet) .dash-command{position:static}
#app:has(.live-sheet) .dashboard-strip-pause{display:block;background:#f3e9bc;border-color:#f3e9bc;color:#263e2c;font-size:11px;padding:6px 9px;min-height:32px}
.live-sheet{scroll-margin-top:68px}
.turn-notifications{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:11px;color:#70786d}.turn-notifications button{font-size:12px;padding:7px 12px;min-height:34px}.turn-notifications button[aria-pressed=true]{background:#e7efe3;border-color:#74916e}
.turn-alert{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;background:#edf2dc;border:1px solid #c9d5a0;border-radius:14px;margin-bottom:22px}.turn-alert.now{background:#e2efe5;border-color:#91b29c}.turn-alert strong{font-size:22px;color:#284d39}.turn-alert p{margin:5px 0 0;font-size:13px}.turn-alert button{font-size:12px;white-space:nowrap}.wish-readiness h2{font-size:18px}.readiness-numbers{display:flex;gap:22px;flex-wrap:wrap;margin:18px 0}.readiness-numbers span{font-size:12px;color:#5d695d}.readiness-numbers strong{display:block;font-size:25px;color:#294b3b}.wish-readiness p{font-size:13px}.wish-readiness small,.auto-fallback small{font-size:12px;color:#697466;display:block;line-height:1.5}.readiness-warning{color:#815d20}.auto-fallback{margin:16px 0}.auto-fallback select{margin:6px 0}.auto-fallback:has(select:disabled){opacity:.5}
@media(max-width:700px){.turn-alert{align-items:stretch;flex-direction:column;padding:16px}.turn-alert .row{flex-wrap:wrap}.readiness-numbers{gap:15px}.turn-notifications{flex-wrap:wrap;gap:6px}}
.compact-pick-order{list-style:none;padding:0;margin:12px 0 0;font-size:12px;font-variant-numeric:tabular-nums}.compact-pick-order li{display:flex;align-items:center;gap:9px;padding:6px 3px;min-height:29px;border-bottom:1px solid var(--line);box-sizing:border-box}.compact-pick-order .pick-position{width:20px;flex-shrink:0;text-align:center;color:#77816f;font-size:11px}.compact-pick-order strong{font-weight:600;flex:1;min-width:0}.compact-pick-order .pick-status{font-size:10px;color:#6b7664;white-space:nowrap}.compact-pick-order li.current{background:#e3efe4;border-radius:5px;box-shadow:inset 3px 0 #3c7450}.compact-pick-order .current .pick-status{color:#285539;font-weight:700}
.participant-guide-link{font-size:11px;color:#42654c;text-decoration:none;white-space:nowrap;padding:7px 9px;background:#edf2e6;border-radius:6px}.participant-guide-link:hover,.login-guide-link a:hover{text-decoration:underline}.login-guide-link{margin-top:25px;font-size:12px}.login-guide-link a{color:#42654c}@media(max-width:600px){.participant-guide-link{font-size:10px;padding:6px}.headername+.participant-guide-link{margin-left:0}header .row{flex-wrap:wrap}}

/* Keep help easy to spot and tap on small screens. */
.login-guide-link a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;background:#edf2e6;border:1px solid #cbd8bd;border-radius:8px;font-weight:600;text-decoration:none}
@media(max-width:600px){header{height:auto;min-height:74px;padding-top:12px;padding-bottom:12px;gap:12px}header>.row{justify-content:flex-end;gap:7px}.participant-guide-link{min-height:36px;display:inline-flex;align-items:center;font-size:11px}}

.overview-week.pending-week{background:#dcebd3;box-shadow:inset 3px 0 #234d3b}.overview-week[aria-expanded="true"]{outline:2px solid #547448;outline-offset:-2px}.overview-week-picker{padding:12px;background:#f0f4e9;border:1px solid #cbd8bd;border-radius:6px;margin-bottom:8px;display:grid;gap:8px;font-size:11px}.overview-week-picker button{white-space:normal;text-align:left;min-height:38px;padding:8px;font-size:11px}.overview-week-picker button span{float:right}.overview-week-picker button[aria-pressed="true"]{background:#234d3b;color:white}.overview-week-picker small{line-height:1.5;color:#52614e}

.access-settings{width:min(460px,calc(100% - 32px));max-height:90dvh;overflow:auto;padding:24px;border:1px solid #cbd8bd;border-radius:14px;background:#fbfcf8;color:#234d3b;box-sizing:border-box}.access-settings::backdrop{background:#18372899}.access-settings h2{font-size:23px}.access-settings p{font-size:12px;line-height:1.6}.access-settings label{display:block;margin:14px 0;font-size:12px}.access-settings input:not([type=checkbox]){display:block;width:100%;margin-top:7px;box-sizing:border-box;font-size:16px}.access-settings .check{display:flex;align-items:center;gap:8px}.access-settings .primary{width:100%}header [data-change-code]{white-space:normal}

.first-checklist{margin:0 0 20px;background:#f0f4e9}.first-checklist summary{font-size:16px;font-weight:600;cursor:pointer}.first-checklist summary small{font-size:11px;font-weight:400;margin-left:12px}.checklist-items{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0}.checklist-items label{font-weight:600;font-size:12px}.checklist-items p{font-size:12px;line-height:1.6}.checklist-items a{font-size:12px;color:#42654c}.first-checklist>.row small{font-size:11px}@media(max-width:700px){.checklist-items{grid-template-columns:1fr;gap:10px}.first-checklist>.row{flex-wrap:wrap}}

nav.has-coordinator-tools{align-items:flex-end;flex-wrap:wrap}nav .personal-tabs{display:flex;gap:8px;flex:3 1 460px}nav .coordinator-tabs{flex:2 1 300px;padding:0 0 0 12px;border-left:1px solid #b8c9b2}nav .coordinator-tabs-label{display:block;margin:0 0 6px 3px;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#426044}nav .coordinator-tabs>div{display:flex;gap:8px}@media(max-width:700px){nav .personal-tabs{flex:1 1 100%;gap:6px;min-width:0}nav .coordinator-tabs{flex:1 1 100%;border-left:0;border-top:1px solid #b8c9b2;padding:10px 0 0;margin-top:4px}nav[aria-label="Vacation planning"] .personal-tabs button{white-space:normal;flex:1 1 0;min-width:0;padding:10px 6px}nav[aria-label="Vacation planning"] .coordinator-tabs button{flex:1 1 0}}

.wishlist-note{margin:16px 0;font-size:12px}.wishlist-note input{width:100%;margin:7px 0;font-size:14px;font-weight:400}.wishlist-note small{font-size:11px;font-weight:400}.queueitem .content{min-width:0}.queueitem .wishlist-note{margin-bottom:0}@media(max-width:600px){.wishlist-note input{font-size:16px}}

.wish-block-summary{grid-column:1/-1;display:grid;gap:8px;margin-bottom:12px}.wish-calendar-actions{position:sticky;bottom:12px;z-index:5;background:#edf4e7;border:1px solid #b8c9b2;padding:14px;border-radius:8px;margin-top:16px;box-shadow:0 3px 14px #19333118;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.wish-calendar-actions>strong{font-size:12px}.overview-week[aria-pressed="true"]{outline:2px solid #426044;outline-offset:-2px}

.personal-page-layout{grid-template-columns:minmax(0,1fr)}.personal-page-layout>.layout{min-width:0}.personal-page-layout aside .draft-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.wish-builder{padding:24px}.wish-builder-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;margin-top:20px;align-items:start}.wish-calendar{min-width:0}.wish-calendar .overview-months{grid-template-columns:repeat(3,minmax(0,1fr))}.wish-step{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#234d3b;color:white;border-radius:50%;font-size:13px;margin-right:7px}.wish-details{background:#f0f4e9;border:1px solid #d1deca;border-radius:10px;padding:18px;position:sticky;top:64px}.wish-details .formgrid{grid-template-columns:1fr}.wish-details .wish-block-summary{background:white;border-radius:7px;padding:12px;line-height:1.6}.wish-details #addpref>button[type=submit]{width:100%;background:#176452;color:white}.wish-calendar-actions{position:static;box-shadow:none}.wish-calendar h3,.wish-details h3{font-size:15px}.wish-calendar .muted{font-size:12px}@media(max-width:980px){.wish-builder-grid{grid-template-columns:1fr}.wish-details{position:static}.wish-calendar .overview-months{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.wish-builder{padding:16px}.wish-calendar .overview-months{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-page-layout aside .draft-overview{grid-template-columns:1fr}.wish-builder-grid{gap:20px}.wish-details{padding:14px}}

.ranked-auto-pick{margin:16px 0 20px;padding:14px 16px;background:#f0f4e9;border:1px solid #d1deca;border-radius:9px}.ranked-auto-pick .autopick{margin-top:0}.ranked-auto-pick .auto-fallback{margin-bottom:0}

.settings-layout{max-width:1220px}.settings-section{margin:0 0 28px}.settings-section-heading{display:flex;align-items:center;gap:12px;margin:0 0 14px}.settings-section-heading>span{display:grid;place-items:center;background:#dfe9d6;color:#234d3b;width:40px;height:40px;border-radius:11px;font-size:22px}.settings-section-heading h2{margin:0 0 3px;font-size:19px}.settings-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.settings-cards>.card{margin:0;min-width:0}.settings-panel[open]{grid-column:1/-1}.settings-panel summary{font-size:14px;font-weight:650;cursor:pointer;min-height:25px}.settings-panel-meta{display:block;margin:6px 0 0 17px;font-size:11px;font-weight:400;color:#617258}.settings-panel-body{padding-top:18px}.settings-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.settings-metrics>span{padding:12px 8px;background:#f0f4e9;border-radius:8px;text-align:center;font-size:10px}.settings-metrics strong{display:block;font-size:26px;color:#294b3b;margin-bottom:5px}.settings-metrics strong small{font-size:11px}.control-help{margin:12px 0;font-size:12px}.control-help summary{font-size:12px;color:#52684a;cursor:pointer}.dash-tools>details>summary,.dash-activity>summary{font-size:13px;font-weight:600;cursor:pointer}.dash-tools>details>summary{padding:3px 0}.dash-metrics>span{background:white;border:1px solid #dce4dd;border-radius:9px;padding:12px 15px;flex:1}.dash-metrics>span>strong{display:block;font-size:22px;margin-bottom:4px}.dash-partners,.dash-picks{border-top:3px solid #90a87c}.dash-tools>.card:first-child{border-top:3px solid #42654c}.settings-cards .roster input{min-width:65px}.settings-section .setup-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style-position:inside;padding:0}.settings-section .setup-checklist li{padding:14px;background:#f0f4e9;border-radius:8px;font-size:12px;line-height:1.6}@media(max-width:700px){.settings-cards{grid-template-columns:1fr}.settings-panel[open]{grid-column:auto}.settings-section .setup-checklist{grid-template-columns:1fr}.dash-metrics{display:grid;grid-template-columns:1fr 1fr}.dash-metrics>.textlink{grid-column:1/-1}.settings-metrics{gap:5px}.settings-metrics strong{font-size:23px}}

.wish-choice-browser{padding:16px;margin:12px 0 20px;border:1px solid #bfc5df;border-radius:10px;background:#f1f2fb;display:grid;gap:8px}.calendarcard>.wish-choice-browser{margin:12px 16px}.wish-choice-browser p{margin:0;font-size:13px;line-height:1.6}.wish-choice-browser small{font-size:11px}.wish-choice-browser [data-cycle-wish]{min-width:40px;min-height:40px;padding:6px}.wish-rank-badge{display:inline-block!important;width:max-content;max-width:100%;font-size:10px!important;color:#55568b;background:#e9e9f8;border-radius:5px;padding:3px 5px;white-space:nowrap}.overview-week.wish-marked-week{border-left:3px solid #9191c1}.overview-week.pending-week{box-shadow:inset 0 0 0 2px #234d3b}.wish-marked-row>.date{border-left:3px solid #9191c1}.overview-week>.wish-rank-badge{grid-column:1/-1}

.wish-choice-browser.compact-wish-browser{padding:10px 12px;gap:4px;margin:8px 0 12px}.calendarcard>.compact-wish-browser{margin:8px 14px 12px}.compact-wish-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.compact-wish-info{min-width:0;display:grid;gap:3px}.compact-wish-info strong{font-size:12px;overflow-wrap:anywhere}.compact-wish-info>span{font-size:11px;line-height:1.4}.compact-wish-info small{font-size:10px}.compact-wish-buttons{display:flex;align-items:center;gap:6px;flex-shrink:0}.compact-wish-buttons button{font-size:12px;padding:6px 10px;min-height:36px}.compact-wish-browser [data-cycle-wish]{min-width:36px;min-height:36px}@media(max-width:600px){.compact-wish-top{flex-wrap:wrap;gap:7px}.compact-wish-buttons{margin-left:auto}.compact-wish-info{width:100%}}

.calendar-top-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}.calendar-top-controls .calendar-view-toggle{margin:0;flex-shrink:0}.wish-inline-controls{display:flex;align-items:center;gap:5px;margin-left:auto}.wish-inline-controls>button{min-height:34px;min-width:32px;padding:5px 8px;font-size:11px}.wish-inline-detail{position:relative;margin:0}.wish-inline-detail>summary{list-style:none;cursor:pointer;font-size:11px;color:#55568b;white-space:nowrap;padding:8px 6px}.wish-inline-detail>summary::-webkit-details-marker{display:none}.wish-inline-popover{position:absolute;right:0;top:100%;width:min(290px,75vw);z-index:30;background:#fff;border:1px solid #bfc5df;border-radius:9px;padding:14px;box-shadow:0 6px 24px #19333122;font-size:12px;line-height:1.5}.wish-inline-popover p{margin:8px 0;overflow-wrap:anywhere}.wish-inline-popover small{display:block;font-size:11px;margin-top:7px}.calendarcard>.calendar-top-controls{padding:12px 16px 0}@media(max-width:700px){.calendar-top-controls{gap:4px}.calendar-top-controls .calendar-view-toggle{width:100%}.wish-inline-controls{width:100%;justify-content:flex-end;border-top:1px solid #e3e7e0;padding-top:4px}.wish-inline-controls>button{min-height:36px;min-width:36px}.wish-inline-popover{right:-40px}}

.wish-entry-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.wish-availability{display:inline-block;font-size:10px;font-weight:650;padding:4px 8px;border-radius:20px;background:#edf0ed;color:#61705e;white-space:nowrap}.wish-availability.available{background:#e1efdc;color:#315d2e}.wish-availability.partial{background:#fff0cd;color:#795819}.wish-availability.unavailable{background:#eeeef0;color:#696975}.wish-partial-result{flex-basis:100%;font-size:11px!important;line-height:1.5}.wish-inline-controls{background:#f0f0fa;border:1px solid #c7c8e1;border-radius:9px;padding:5px 8px;gap:7px}.wish-inline-label{font-size:12px;color:#55568b;white-space:nowrap}.wish-inline-controls>button{min-height:38px;min-width:36px;font-size:13px}.wish-inline-detail>summary{font-size:12px;font-weight:600;padding:9px 5px}.wish-inline-controls>small{font-size:11px}@media(max-width:700px){.wish-inline-controls{justify-content:flex-start;flex-wrap:wrap;border-top:1px solid #c7c8e1;padding:6px 8px}.wish-inline-label{margin-right:auto}.wish-inline-controls>.primary{margin-left:auto}.wish-inline-popover{right:0}}

.export-grid-option{padding:0 0 20px;margin:18px 0;border-bottom:1px solid var(--line)}.export-grid-option h3{margin-bottom:6px}

/* Give expandable settings their own row; align paired control cards. */
.settings-cards{align-items:stretch}.settings-cards>.settings-panel,.settings-cards>details.card{grid-column:1/-1}

.settings-section[data-settings-group="single"] .settings-cards{grid-template-columns:minmax(0,1fr)}.settings-panel-body{min-width:0}.settings-cards .control-help p{overflow-wrap:anywhere}

/* Keep wish-list navigation together on narrow screens. */
@media(max-width:700px){.wish-inline-label{flex-basis:100%;margin:0}.wish-inline-controls{gap:4px}.wish-inline-detail{flex:1;min-width:0}.wish-inline-detail>summary{font-size:11px;padding-inline:2px;text-align:center}.wish-inline-controls>.primary{font-size:11px;padding-inline:6px}.wish-inline-popover{width:min(260px,70vw);right:-36px}}

/* Prioritize monitoring and corrections during the live meeting. */
.dash-grid{grid-template-columns:minmax(300px,1.3fr) minmax(300px,1.2fr) minmax(220px,.8fr)}.dash-tools>.dash-correction>summary{font-size:17px}.dash-choose>summary{font-size:13px}.dash-pick>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:1150px){.dash-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:700px){.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-tools{grid-row:auto}.dash-picks{grid-row:1}}

/* Card spacing belongs to the dashboard column, not native details margins. */
.dash-tools{display:grid;gap:20px;min-width:0}.dash-tools>.card{margin:0}

.heading-status{display:flex;flex-direction:column;align-items:flex-end;gap:9px;flex-shrink:0;max-width:285px}.heading-status .turn-notifications{display:flex;flex-direction:column;align-items:flex-end;gap:5px;margin:0;text-align:right}.heading-status .turn-notifications>span{font-size:10px;line-height:1.5}.heading-status .turn-notifications button{font-size:11px;padding:5px 10px}
@media(max-width:700px){.heading-status{align-items:flex-start;max-width:100%}.heading-status .turn-notifications{align-items:flex-start;text-align:left}}

/* Keep the three participant tabs together, just like the scheduler's personal tabs. */
@media(max-width:700px){nav:not(.has-coordinator-tools){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}nav:not(.has-coordinator-tools)>button{min-width:0;white-space:normal;justify-content:center;text-align:center;padding:10px 6px}}

.archive-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;margin-bottom:18px;background:#edf2e9;border:1px solid #d5dfcd;border-radius:10px;font-weight:600}.archive-notice button{font-size:12px}#activate-year{display:flex;align-items:end;gap:12px;flex-wrap:wrap}#activate-year label{margin:0;min-width:160px}#scheduler-handoff select{width:100%}
/* Compact holiday markers and roster editing across desktop and touch screens. */
.holiday-badge{display:block;font-size:11px;font-weight:650;line-height:1.4;color:#856021;background:#faf0d9;border-radius:5px;padding:2px 5px;margin-top:3px;text-align:left;grid-column:1/-1;white-space:normal}
.holiday-edit-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin:14px 0}.holiday-edit-row input{width:100%;min-width:0}.holiday-edit-row button{margin-bottom:2px}
.roster-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 0 18px}.roster-editor{display:grid;gap:10px}.roster-person{display:grid;grid-template-columns:120px minmax(150px,2fr) minmax(100px,1fr) minmax(100px,1fr) 65px;align-items:center;gap:14px;padding:14px;border:1px solid #dce4db;border-radius:12px;background:#fff}.roster-person label{font-size:12px;margin:0}.roster-person input,.roster-person select{width:100%;min-width:0}.roster-position{display:flex;align-items:center;gap:8px}.drag-handle{cursor:grab;font-size:28px;color:#6b806d;user-select:none}.roster-person.drop-target{outline:2px solid #587959;background:#f0f6ed}.roster-extra{position:relative;margin:0!important}.roster-extra summary{font-size:13px}.roster-extra>div{position:absolute;right:0;z-index:5;min-width:240px;padding:16px;display:grid;gap:12px;background:white;box-shadow:0 8px 28px #243f302b;border:1px solid #dce4db;border-radius:12px}.roster-editor:has(.roster-extra[open]){padding-bottom:100px}
@media(max-width:700px){.roster-person{grid-template-columns:1fr 1fr;gap:10px}.roster-position{grid-column:1}.roster-name{grid-column:2}.roster-extra{grid-column:1/-1}.roster-extra>div{position:static;box-shadow:none;min-width:0}.roster-editor:has(.roster-extra[open]){padding-bottom:0}.holiday-edit-row{grid-template-columns:1fr 1fr}.holiday-edit-row>label:first-child{grid-column:1/-1}.holiday-edit-row button{justify-self:end}.drag-handle{display:none}}
.roster-account{position:relative;margin:0!important}.roster-account>summary{font-size:12px;white-space:normal}.roster-account>div{display:grid;gap:10px;padding:12px;background:white;border:1px solid #dce4db;border-radius:10px}.roster-person input{max-width:none}
@media(min-width:1000px){.roster-person{grid-template-columns:105px minmax(135px,1.5fr) 90px 100px minmax(120px,1fr) 75px 105px;gap:12px}.roster-extra,.roster-extra>div{display:contents}.roster-extra>summary{display:none}.roster-extra:not([open])>div{display:contents}.roster-account>div{position:absolute;right:0;top:100%;min-width:190px;z-index:6;box-shadow:0 8px 24px #243f302b}.roster-editor:has(.roster-extra[open]){padding-bottom:0}.roster-editor:has(.roster-account[open]){padding-bottom:100px}}
@media(max-width:999px){.roster-account>div{position:static}.roster-extra>summary{display:list-item}}
@media(min-width:1000px){.roster-extra{display:block;grid-column:5/-1}.roster-extra>div,.roster-extra:not([open])>div{display:grid;grid-template-columns:minmax(120px,1fr) 75px 105px;gap:12px;align-items:center;position:static;min-width:0;padding:0;border:0;box-shadow:none}.roster-name input{width:100%!important;max-width:none!important}}
.year-preview{background:#f0f5eb;padding:12px;border-radius:8px;font-weight:600;font-size:13px}.delete-year-panel{margin-top:20px;padding-top:16px;border-top:1px solid #e0e7dd}#createyear input[type=date]{max-width:250px}#custom-start-label[hidden]{display:none}

.available-vacation-type{grid-column:1/-1;font-size:11px;color:#355b45;font-weight:650;text-align:left}.pending-week .available-vacation-type{font-weight:750}

/* Meeting readiness and administrative feedback */
.readiness-checks{padding:12px 16px;background:#f0f4e9;border-radius:10px;margin-bottom:16px}.readiness-checks p{margin:8px 0}.readiness-checks small,.review-confirmed small{display:block;margin-top:10px}.review-confirmed{padding:16px;border:1px solid #c9d7cc;border-radius:10px;background:#f0f4e9;display:flex;gap:14px;align-items:center;justify-content:space-between;margin:15px 0}.save-status{font-size:12px;color:#4c6857}.save-status[data-dirty=true]{color:#875213}.setup-conflict{padding:16px;border:2px solid #ba8f39;border-radius:12px;background:#fff7df;margin:16px 0}.wish-town-options{margin:14px 0}.wish-town-options summary{cursor:pointer;font-weight:600}.wish-town-options small{display:block;margin:8px 0;color:#52664b}@media(max-width:600px){.review-confirmed{flex-direction:column;align-items:stretch}}

/* Confirmed personal picks stay distinct from pending selections and wish-list hearts. */
.overview-week.own-vacation-week,.weekrow.own-vacation-row{background:#edf7f0}
.overview-week.own-vacation-week:hover,.weekrow.own-vacation-row:hover{background:#e3f1e7}
.own-vacation-badge{display:block;color:#226043;font-size:11px;font-weight:750;line-height:1.4;margin-top:3px}
.overview-week>.own-vacation-badge{grid-column:1/-1;grid-row:auto;font-size:10px}
.own-vacation-key{color:#226043;font-weight:700}
.overview-week.own-vacation-week.pending-week{background:#dcebd3}

.range-builder>summary{cursor:pointer}.range-builder>summary small{display:block;margin-top:5px}.range-builder form{margin-top:20px}.range-ranking{margin:14px 0}.range-ranking summary{cursor:pointer;font-weight:650}.range-rank-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e2e8df;padding:7px 0}.range-rank-row>span{font-size:12px}.range-rank-row b{display:inline-block;min-width:20px;color:#768969}.range-rank-row button{padding:6px 10px}.range-rank-row>div{display:flex;gap:4px}.range-ranking .muted{font-size:12px;margin-top:10px}

.wish-mode-toggle{display:flex;gap:5px;padding:5px;background:#edf0e8;border-radius:10px;width:fit-content;margin:16px 0 22px}.wish-mode-toggle button{border:0;background:transparent}.wish-mode-toggle button[aria-pressed=true]{background:#294f3b;color:#fff}.overview-week.range-shaded-week{background:#e7eef9;box-shadow:inset 3px 0 #5477a5}.overview-week.range-shaded-week[aria-pressed=true]{outline:0}.range-week-label{grid-column:1/-1;color:#3d608e;font-size:10px;font-weight:700}.range-empty{padding:24px 18px;background:#edf2f9;border-radius:10px;color:#385578}.range-empty p{font-size:13px;margin-bottom:0}.wish-details .range-mode{margin:16px 0}.wish-details .range-ranking{font-size:13px}

#wish-save-notice{display:flex;flex-wrap:wrap;gap:5px 14px;background:#fff3d9;border:1px solid #e5cb8d;border-radius:9px;padding:12px 16px;margin:12px 0;color:#70511e;font-size:13px}#wish-save-notice strong{white-space:nowrap}.readiness-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.readiness-shortcuts button{text-align:left;font-size:12px;white-space:normal}@media(max-width:580px){.readiness-shortcuts{grid-template-columns:1fr}}

/* Legible capacity markers without adding labels or changing month columns. */
.overview-dot{width:11px;height:11px;border:2px solid #75856c;background:#fff}
.overview-dot.taken{background:#176452;border-color:#176452}
.overview-dot.town{border-color:#716099}
.overview-dot.town.taken{background:#716099;border-color:#716099}
.overview-slot-group{gap:3px;min-width:0}
.overview-count{font-size:11px;font-weight:650;color:#40533a}
.slotdot{width:12px;height:12px;border:2px solid #75856c;background:#fff;flex-shrink:0}
.slotdot.filled{background:#315f3d;border-color:#315f3d}

.range-rank-row{gap:7px}.range-rank-row>span{flex:1;min-width:0}.range-rank-row select{width:85px;min-height:34px;padding:5px;font-size:12px}.range-rank-row .range-drag-handle{cursor:grab;padding:5px 7px;border:0;background:transparent;color:#577361;font-size:23px;line-height:1;flex-shrink:0}.range-drag-handle:active{cursor:grabbing}.range-rank-row.range-drop-target{background:#e5eedf;box-shadow:inset 0 2px #42664b}.range-rank-row.range-dragging{opacity:.45}@media(pointer:coarse){.range-rank-row select,.range-rank-row button{min-height:44px}}

.range-drag-handle{touch-action:none;user-select:none;-webkit-user-select:none}

#wish-choice-notice{background:#fff3d9;border-left:3px solid #c68b24;padding:10px 12px;border-radius:6px;color:#70511e;font-size:13px}

.strip-auto{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border-radius:7px;font-size:12px}.strip-auto.enabled{background:#ffe5a3;color:#392900;font-weight:700}.strip-auto button{font-size:12px;padding:4px 8px}.auto-countdown:not(:empty){font-weight:700;color:#ffe5a3}

@media(max-width:700px){.meeting-strip{flex-wrap:wrap;gap:5px 9px}.meeting-strip>strong{max-width:42vw}.strip-auto{order:5;flex-shrink:0}.auto-countdown{order:6;font-size:12px}#app:has(.strip-auto){padding-top:100px}html{scroll-padding-top:110px}.mobile-shortcuts{top:100px}}

.meeting-strip .strip-auto{background:#f4f6f1;color:#213d30;white-space:nowrap;font-size:13px;gap:10px;margin:0}.meeting-strip .strip-auto.enabled{background:#ffe5a3;color:#392900}.meeting-strip .auto-toggle{display:inline-flex;align-items:center;width:48px;min-width:48px;height:28px;min-height:28px;border:2px solid #68796d;border-radius:20px;background:#68796d;padding:2px;cursor:pointer}.auto-toggle>span{display:block;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #0005;transition:transform .15s}.meeting-strip .auto-toggle[aria-checked="true"]{background:#245c47;border-color:#245c47}.auto-toggle[aria-checked="true"]>span{transform:translateX(20px)}.meeting-strip .auto-toggle:focus-visible{outline:3px solid white;outline-offset:3px}

.dash-clock{min-width:0}.dash-clock .clock-label{font-size:17px;line-height:1.35;white-space:normal;overflow-wrap:break-word}.dash-actions{min-width:0}.dash-actions button{white-space:normal}@media(max-width:700px){.dash-clock .clock-label{max-width:130px;font-size:15px}}
/* Saved choices are a secondary shortcut; calendar weeks remain the main action. */
.wish-inline-controls{background:#fafafc;border-color:#dedee8;gap:5px}
.wish-inline-controls>.wish-choice-select{background:transparent;border:1px solid #c8c8d7;color:#55568b;font-weight:600;white-space:nowrap;padding-inline:10px}
.wish-inline-controls>.wish-choice-select:hover:not(:disabled){background:#efeff7;border-color:#9191b2}
.wish-inline-controls>.wish-choice-select:disabled{opacity:.65}
.wish-inline-detail>summary{display:flex;align-items:center;justify-content:center;min-height:38px;min-width:32px;padding:4px;font-size:16px}
@media(max-width:700px){.wish-inline-label{flex-basis:auto;margin-right:auto}.wish-inline-detail{flex:0 0 auto}.wish-inline-detail>summary{font-size:16px}.wish-inline-popover{right:0}}
.practice-bots{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;margin:16px 0;background:#f5f0df;border:1px solid #daceaa;border-radius:12px}.practice-bots>div{flex:1;min-width:200px}.practice-bots small{display:block;font-size:12px;line-height:1.5;margin-top:5px}.practice-bots>small{flex-basis:100%;margin:0}.practice-bots label{font-size:12px}.practice-bots select{margin-top:4px}.practice-bots button{min-width:105px}@media(max-width:600px){.practice-bots>div{flex-basis:100%}}

/* Finalization is separate from the two downloadable files. */
.export-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.export-heading h2{margin:0}.export-finalize-step{padding:18px;border:1px solid var(--line);border-radius:10px;background:#f3f7f2}.export-status{display:flex;align-items:flex-start;gap:12px}.export-step-icon,.export-file-icon{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:9px;background:#dfeade;color:#234d3b;font-weight:700;font-size:18px}.export-status h3{margin:0 0 4px}.export-status p,.export-file p{margin:0;font-size:13px;line-height:1.5}.export-finalize-step>button{margin-top:14px}.export-reviews{margin-top:14px;font-size:13px}.export-reviews summary,.export-file-notes summary{cursor:pointer}.export-reviews ul{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 22px}.export-reviews li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:6px 0}.export-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.export-file{border:1px solid var(--line);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}.export-file-heading{display:flex;align-items:center;gap:10px}.export-file-heading h3{margin:0 0 3px}.export-file-label{font-size:12px;color:#52655b}.export-file-icon{background:#edf2ee}.export-file>button{margin-top:auto;align-self:flex-start;max-width:100%;white-space:normal;min-height:42px;text-align:left}.export-file-notes{margin-top:16px;font-size:12px;color:#52655b}.export-file-notes p{margin-bottom:0}@media(max-width:700px){.export-downloads{grid-template-columns:1fr}.export-finalize-step,.export-file{padding:14px}.export-file>button{width:100%;text-align:center}}

/* Compact detailed weeks without shrinking labels or selection controls. */
.calendar .weekrow>td{padding-top:6px;padding-bottom:6px}
.calendar .monthdivider td{padding-top:7px;padding-bottom:7px}
.calendar .date>small:empty{display:none}

/* Keep account actions accessible without crowding the meeting header. */
.header-help{font-size:12px;font-weight:600;color:var(--green);padding:10px 8px;text-decoration:none;white-space:nowrap}.header-help:hover{text-decoration:underline}.account-menu{position:relative;font-size:13px}.account-menu>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:600}.account-menu>summary::-webkit-details-marker{display:none}.account-menu>summary:hover{background:#edf4ee}.account-menu-panel{position:absolute;right:0;top:calc(100% + 8px);width:240px;max-width:calc(100vw - 32px);z-index:1000;padding:8px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 10px 30px #19333124}.account-menu-identity{padding:8px 10px 12px;margin-bottom:4px;border-bottom:1px solid var(--line)}.account-menu-identity strong,.account-menu-identity small{display:block}.account-menu-identity small{margin-top:4px}.account-menu-panel>a,.account-menu-panel>button{display:block;width:100%;padding:11px 10px;min-height:42px;border:0;border-radius:6px;text-align:left;text-decoration:none;color:#193331;background:white;font-size:13px;font-weight:500}.account-menu-panel>a:hover,.account-menu-panel>button:hover{background:#edf4ee}.account-menu-panel>#logout{border-top:1px solid var(--line);border-radius:0;margin-top:4px}.connection[data-connected="true"]{font-size:0;padding:8px;border:0;background:transparent}.connection[data-connected="true"]:before{width:8px;height:8px;margin:0}.connection[data-connected="false"]{font-size:11px}@media(max-width:700px){header>.row{gap:5px}.account-menu>summary{font-size:12px;padding:8px}.header-help{padding:10px 6px}.account-name{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:700px){header>.brand{flex-shrink:0;gap:8px;font-size:14px}header>.brand>div{white-space:nowrap}header>.brand small{display:none}}

.wish-inline-detail>summary{box-sizing:border-box;width:36px;height:38px;flex-shrink:0}.wish-info-icon{display:block;width:18px;height:18px;flex:none}

/* Keep break/holiday context on one line beside the date. */
.overview-week{grid-template-columns:minmax(0,1fr) auto;column-gap:5px;row-gap:5px}
.overview-week>.overview-week-date{grid-column:1;grid-row:1}
.overview-week>.overview-week-meta{grid-column:2;grid-row:1;max-width:155px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.4;color:#785923;background:#faf0d9;padding:1px 4px;border-radius:4px}
.overview-week>.overview-slot-group{grid-column:1;grid-row:2}
.overview-week>.overview-count{grid-column:2;grid-row:2}
.overview-week>.available-vacation-type,.overview-week>.own-vacation-badge,.overview-week>.wish-rank-badge,.overview-week>.range-week-label{grid-column:1/-1;grid-row:auto}
@media(min-width:1600px){main{max-width:1840px}.layout:not(.personal-page-layout){grid-template-columns:minmax(0,1fr) 260px;gap:18px}#calendar-panel.year-overview>.overview-months{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.year-overview .overview-week{padding:6px;min-height:44px}.year-overview .overview-week-meta{max-width:135px}#calendar-panel.year-overview .overview-key{margin-bottom:10px}}
@media(max-width:700px){.overview-week>.overview-week-meta{max-width:90px;font-size:9px}}
.overview-week>.overview-slot-group{grid-column:1/-1;padding-right:52px}
.overview-week>.overview-count{justify-self:end}
@media(min-width:1600px){
#app>header{min-height:64px;height:64px;padding-top:6px;padding-bottom:6px}
main{padding-top:14px;padding-bottom:14px}
main .pageheading{margin-bottom:12px;align-items:center}
main .pageheading .eyebrow{margin-bottom:5px}
main .pageheading h1,main.dashboard-page .pageheading h1{font-size:32px;margin:0}
main .pageheading p{margin:4px 0 0}
main .summary{padding:10px 16px;margin-bottom:12px;min-height:0}
main .summary strong{font-size:20px}
main .summary-icon{width:30px;height:30px}
main nav{margin-top:12px;margin-bottom:12px;padding:4px}
main nav button{padding-top:10px;padding-bottom:10px;min-height:40px}
#calendar-panel.year-overview{padding:14px}
#calendar-panel.year-overview .calendar-top-controls{margin-bottom:6px}
#calendar-panel.year-overview .overview-months{gap:8px}
}
@media(min-width:1600px){
main .summary{margin-top:0;padding:6px 10px}
main .summary>div{padding:4px 12px}
main .heading-status{display:flex;align-items:center;gap:10px}
main .pageheading{min-height:54px}
#calendar-panel.year-overview>.row h2{display:none}
#calendar-panel.year-overview>.row p{margin:0;line-height:1.4}
#calendar-panel.year-overview>.row{margin-bottom:4px}
#calendar-panel.year-overview .calendar-view-toggle button{padding:6px 10px;min-height:32px}
#calendar-panel.year-overview .overview-key{margin-top:4px;margin-bottom:6px}
}
@media(min-width:1600px){
main .heading-status{flex-direction:row}
main .heading-status .connection{margin:0}
main .turn-notifications{display:flex;align-items:center;gap:8px;flex-direction:row;max-width:none}
main .turn-notifications small{max-width:190px}
main .summary>div>div{display:flex;align-items:center;gap:8px}
main .summary strong{margin:0}
main .summary-icon{width:24px;height:24px}
}
@media(min-width:1600px){.year-overview .overview-week{min-height:40px;padding-top:4px;padding-bottom:4px;row-gap:4px}.year-overview .overview-month h3{padding-top:6px;padding-bottom:6px}}
@media(max-width:700px){.overview-week>.overview-week-meta{white-space:normal;overflow:visible;text-overflow:clip}}

/* Availability and personal markers must not add rows to year-overview weeks. */
.overview-week>.available-vacation-type,.overview-week>.own-vacation-badge{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;border:0!important}
.overview-week>.overview-slot-group{align-items:center;gap:3px;padding-right:62px}
.overview-slot-group>.wish-rank-badge{font-size:9px!important;line-height:12px;padding:0 3px;max-width:49px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}
.overview-week>.overview-count{font-size:10px;min-width:54px}
.overview-week.own-vacation-week>.overview-count{color:#176452}
.overview-week.pending-week>.overview-count{font-weight:750}
.overview-week.range-shaded-week{position:relative}

.overview-week{position:relative}
.overview-week>.overview-slot-group{min-height:12px}
@media(min-width:1600px){.year-overview .overview-week-meta{line-height:12px}}
@media(max-width:700px){
.overview-week>.overview-slot-group{padding-right:0}
.overview-week>.overview-count{grid-column:1/-1;grid-row:3;justify-self:start;text-align:left;padding-right:55px}
.overview-week .overview-slot-group>.wish-rank-badge{position:absolute;right:6px;bottom:9px}
}

/* Shared page chrome: keep titles and meeting status consistent between tabs. */
@media(min-width:1101px){
#app>header{height:64px;min-height:64px;padding-block:6px}
main{padding-top:14px;padding-bottom:14px}
main .pageheading{margin-bottom:12px;align-items:center}
main .pageheading .eyebrow{margin-bottom:5px}
main .pageheading h1,main.dashboard-page .pageheading h1{font-size:32px;margin:0}
main .pageheading p{margin:4px 0 0}
main .heading-status{flex-direction:row;align-items:center;gap:8px;max-width:none}
main .heading-status .connection{margin:0}
main .heading-status .turn-notifications{flex-direction:row;align-items:center;gap:8px;max-width:none}
main .heading-status .turn-notifications button{white-space:nowrap}
main .heading-status .turn-notifications small{max-width:190px}
}
@media(min-width:1600px){
.wish-builder-grid{grid-template-columns:minmax(0,1fr) 300px;gap:20px}
.wish-calendar .overview-months{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
}
/* A range's first-week marker uses the status position, not an extra row. */
.overview-week:has(>.range-week-label)>.overview-count{visibility:hidden}
.overview-week>.range-week-label{grid-column:2;grid-row:2;justify-self:end;margin:0;font-size:10px;line-height:12px}
@media(max-width:700px){.overview-week>.range-week-label{grid-column:1/-1;grid-row:3;justify-self:start}}

/* Two compact, persistent rows: meeting controls above page navigation. */
.meeting-header{position:fixed;inset:0 0 auto;z-index:50;background:#fff;box-shadow:0 2px 10px #18362920}
.meeting-header .meeting-strip{position:static;box-shadow:none;min-height:48px;padding-block:7px}
#app:has(.meeting-header){padding-top:var(--meeting-header-height,98px)}
html:has(.meeting-header){scroll-padding-top:calc(var(--meeting-header-height,98px) + 12px)}
.meeting-header nav{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:8px;margin:0;padding:5px 3.6vw;background:#f3f6f0;border:0;border-bottom:1px solid #d9e2d7;border-radius:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.meeting-header nav button{flex:0 0 auto;min-height:38px;padding:8px 15px;border:1px solid transparent;border-radius:7px;color:#425b4c;background:transparent;font-size:12px;font-weight:650;white-space:nowrap;justify-content:center}
.meeting-header nav button:hover{background:#e3ecdf;color:#244e3d}
.meeting-header nav button.active{background:#245c47;color:#fff;border-color:#245c47;box-shadow:0 1px 3px #173d3224}
.meeting-header nav .personal-tabs,.meeting-header nav .coordinator-tabs>div{display:flex;gap:6px;flex:0 0 auto}
.meeting-header nav .coordinator-tabs{display:flex;flex:0 0 auto;align-items:center;gap:10px;margin:0 0 0 8px;padding:0 0 0 16px;border-left:1px solid #c8d6c5}
.meeting-header .coordinator-tabs-label{margin:0;font-size:9px;max-width:90px;line-height:1.35;white-space:normal}
.meeting-header .navcount{font-size:9px}
body:has(.meeting-header) :is(.dash-command,.wish-details,.mobile-shortcuts){top:calc(var(--meeting-header-height,98px) + 8px)}
@media(max-width:700px){
.meeting-header nav{padding:5px 10px;gap:4px}
.meeting-header nav button{padding:8px 10px;font-size:11px;min-height:40px}
.meeting-header nav .coordinator-tabs{padding-left:10px;margin-left:4px;gap:6px}
.meeting-header .coordinator-tabs-label{max-width:65px;font-size:8px}
}
.meeting-header nav[aria-label="Vacation planning"] :is(.personal-tabs,.coordinator-tabs) button{flex:0 0 auto;white-space:nowrap;padding:8px 15px}
@media(max-width:700px){.meeting-header nav[aria-label="Vacation planning"] :is(.personal-tabs,.coordinator-tabs) button{padding:8px 10px}}
/* Permission labels are captions above the navigation, never tab-shaped items. */
.meeting-header nav .coordinator-tabs{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-block:0}
.meeting-header nav .coordinator-tabs-label{max-width:none;margin:0 0 0 12px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;min-height:0;font-size:8px;font-weight:500;line-height:1.2;letter-spacing:1px;color:#637361;white-space:nowrap;cursor:default}
.meeting-header nav .coordinator-tabs>div{gap:6px}
@media(max-width:700px){.meeting-header nav .coordinator-tabs-label{margin-left:10px;font-size:8px}}

/* A single pinned masthead: meeting status above navigation and account tools. */
.meeting-navigation{display:flex;align-items:center;gap:12px;padding:4px 3.6vw;background:#f3f6f0;border-bottom:1px solid #d9e2d7;min-width:0}
.meeting-brand{font:700 16px Georgia,serif;letter-spacing:1px;text-decoration:none;color:#294f3c;padding-right:12px;border-right:1px solid #c8d6c5;flex:none}
.meeting-header .meeting-navigation nav{flex:1;min-width:0;padding:0;background:transparent;border:0}
.meeting-utilities{display:flex;align-items:center;gap:8px;flex:none;padding-left:12px;border-left:1px solid #c8d6c5}
.meeting-utilities select{width:auto;max-width:135px;min-height:32px;padding:5px 7px;font-size:11px;border:1px solid transparent;background:transparent;color:#355543;font-weight:600}
.meeting-utilities select:hover{border-color:#c8d6c5;background:#fff}
.meeting-utilities .header-help{font-size:11px;white-space:nowrap}
.meeting-utilities .account-menu>summary{min-height:32px;padding:6px 10px;font-size:11px;background:#fff;border-color:#d6e0d1}
.meeting-utilities .account-menu-panel{z-index:60}
/* Account tools share the status row, leaving all five tabs unobstructed. */
.meeting-strip .meeting-utilities{margin-left:auto;border-color:#789082}
.meeting-strip .meeting-utilities select{color:#fff;color-scheme:dark;font-size:12px;max-width:145px}
.meeting-strip .meeting-utilities select:hover{background:#385a48;border-color:#789082}
.meeting-strip .meeting-utilities select option{background:#294b3b;color:#fff}
.meeting-strip .header-help{color:#e9efdf;font-size:12px}
.meeting-strip .account-menu>summary{background:#ffffff12;color:#fff;border-color:#789082;font-size:12px}
@media(max-width:1100px){
 .meeting-strip{flex-wrap:wrap}
 .meeting-strip .meeting-utilities{flex-basis:100%;justify-content:flex-end;border:0;border-top:1px solid #ffffff26;padding:5px 0 0;order:10}
 .meeting-navigation{padding-inline:16px}
}
@media(max-width:700px){
 .meeting-navigation{padding:4px 10px;gap:6px}
 .meeting-brand{font-size:13px;padding-right:5px;border:0}
 .meeting-strip .meeting-utilities{gap:8px;justify-content:space-between}
 .meeting-strip .meeting-utilities select{max-width:118px;font-size:12px;padding:5px 2px;min-height:34px}
 .meeting-strip .account-menu>summary{padding:6px 8px;max-width:120px;min-height:34px;font-size:12px}
 .meeting-strip .header-help{font-size:12px}
}

/* Match participant navigation to the owner/scheduler control captions. */
nav .personal-tabs{flex-direction:column;gap:2px}
nav .personal-tabs>div{display:flex;gap:8px}
.meeting-header nav .personal-tabs{flex-direction:column;align-items:flex-start;gap:2px}
.meeting-header nav .personal-tabs>div{display:flex;gap:6px}
.meeting-utilities .account-menu{margin:0}
.meeting-utilities .account-menu-panel{color:#193331}
.meeting-utilities .account-menu-panel strong{color:#193331}
.meeting-utilities .account-name{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Shared spacing and compact supporting information. */
.wish-builder{padding:18px 22px}
.wish-builder>.row h2{margin:0}
.wish-mode-toggle{margin-top:12px;margin-bottom:0}
.wish-builder-grid{margin-top:14px;gap:18px}
.wish-calendar h3{margin:0 0 4px}
.wish-calendar .overview-key{margin-block:8px}
.wish-calendar>.row p{margin:4px 0}
.confirmed-weeks .empty{padding:28px 16px}
.overview-week-date{white-space:nowrap;min-width:0}
@media(max-width:700px){
 .meeting-strip .meeting-utilities{order:0;flex-basis:auto;width:auto;margin-left:auto;border:0;padding:0}
 .meeting-strip .strip-auto{order:5}
 .meeting-strip .turn-countdown{order:6;margin-left:auto}
 .meeting-strip .meeting-utilities .account-menu>summary{min-height:32px;font-size:12px;max-width:130px}
 .mobile-account-tools{display:grid;gap:8px;border-top:1px solid #dce3d9;padding:10px}
 .meeting-strip .mobile-account-tools select{width:100%;max-width:none;background:#f0f4ed;color:#193331;color-scheme:light;border:1px solid #cbd8ca}
 .meeting-strip .mobile-account-tools .header-help{color:#193331}
 main .heading-status{display:flex;flex-direction:row;align-items:center;gap:6px;margin-top:8px}
 main .heading-status .turn-notifications{display:flex;flex-direction:row;align-items:center;gap:8px}
 main .heading-status .turn-notifications span{font-size:11px;line-height:1.35;max-width:180px}
 main .heading-status .turn-notifications button{flex-shrink:0;margin:0}
 main .heading-status .connection{margin:0;flex-shrink:0}
 main .pageheading{gap:0;margin-bottom:14px}
 .mobile-shortcuts{position:static;justify-content:flex-end;padding:0 0 8px;background:none}
 .mobile-shortcuts button{flex:0 1 auto;min-height:30px;padding:4px 8px;border:0;background:transparent;text-decoration:underline;font-size:11px}
 .mobile-shortcuts button:first-child{display:none}
 .wish-builder{padding:14px}
 .overview-week-date{grid-column:1/-1;grid-row:1;padding-right:0}
 .overview-week .overview-marker{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .calendar-scroll{overflow:visible}
 table.calendar{min-width:0;width:100%;table-layout:fixed}
 table.calendar thead{display:none}
 table.calendar tbody{display:block}
 table.calendar tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:12px;border-bottom:1px solid #dde5d9}
 table.calendar td{display:block;width:auto!important;min-width:0;padding:0!important;border:0!important}
 table.calendar td.date{grid-column:1/-1;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
 table.calendar td.date strong{white-space:nowrap}
 table.calendar tr.monthrow{display:block;padding:8px 12px}
 table.calendar tr:has(td[colspan]){display:block}
 table.calendar td:last-child{grid-column:2;justify-self:end}
 table.calendar .pickednames{overflow-wrap:anywhere;line-height:1.5}
 table.calendar .townslots{flex-wrap:wrap}
 table.calendar .addweek{min-height:36px}
}
@media(min-width:1101px){
 .wish-builder{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:20px}
 .wish-builder>.row{grid-column:1;grid-row:1}
 .wish-builder>.wish-mode-toggle{grid-column:2;grid-row:1;margin:0}
 .wish-builder>.wish-builder-grid{grid-column:1/-1}
}
.confirmed-weeks{max-width:1100px;margin-inline:auto}
@media(max-width:700px){
 .overview-week{grid-template-rows:14px 14px 14px 12px;row-gap:2px}
 .overview-week>.overview-week-meta{position:static;grid-column:1/-1;grid-row:4;justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
 table.calendar td:last-child{grid-row:2;align-self:end}
 table.calendar td:nth-child(3){grid-row:3;grid-column:1/-1}
 table.calendar td:nth-child(3):has(.notavailable){display:none}
 table.calendar .pickednames{font-size:12px}
 table.calendar tr:has(td[colspan]) td{grid-column:1/-1;text-align:left;justify-self:start}
}
@media(max-width:700px){
 .mobile-account-tools .header-help{display:none}
 #capacity .scroll{overflow:visible;max-height:none}
 #capacity table.roster{display:block;min-width:0;width:100%}
 #capacity thead{display:none}
 #capacity tbody{display:block}
 #capacity tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 0;border-bottom:1px solid #dce4d7}
 #capacity td{display:block;min-width:0;padding:0;border:0}
 #capacity td:first-child{grid-column:1/-1;font-weight:650}
 #capacity td:nth-child(2){grid-column:1/-1}
 #capacity td:nth-child(3)::before{content:'Regular'}
 #capacity td:nth-child(4)::before{content:'In-town 1'}
 #capacity td:nth-child(5)::before{content:'In-town 2'}
 #capacity td::before{display:block;font-size:11px;margin-bottom:4px}
 #capacity input,#capacity select{width:100%;min-width:0}
}
.meeting-ended>.turn-countdown{display:none}
.meeting-strip>.auto-countdown:empty{display:none}
/* Account actions remain reachable on short screens. */
.account-menu-panel{max-height:70dvh;overflow-y:auto}

/* Keep planning actions reachable when the calendar stacks above its form. */
.wish-shortcuts{display:flex;justify-content:flex-end;gap:8px;margin:0 0 10px}
.wish-shortcuts button{background:#fff;border:1px solid #d5dfcf;font-size:12px;color:#345641}
:is(#wish-calendar,#ranked-weeks,.wish-details,#order-panel,#turn-panel){scroll-margin-top:16px}
a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #a87517;outline-offset:3px}
@media(max-width:1100px){
 .wish-calendar-actions{position:sticky;bottom:12px;z-index:15;background:#f5f8ef;border:1px solid #bccdaf;border-radius:10px;padding:12px;box-shadow:0 4px 20px #243e3620;gap:8px}
 .wish-calendar-actions>strong{font-size:12px;line-height:1.5;min-width:0}
 .wish-calendar-actions button{min-height:44px}
}
@media(max-width:700px){
 .summary{margin:16px 0}
 .summary>div{padding:10px 12px}
 .summary strong{font-size:20px;margin-top:3px}
 .summary small{font-size:9px;letter-spacing:.8px}
 .wish-shortcuts{justify-content:stretch}
 .wish-shortcuts button{flex:1;min-height:40px}
 .wish-calendar-actions{bottom:calc(8px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:stretch}
 .wish-calendar-actions>.row{margin:0;justify-content:flex-end;gap:8px}
 .wish-calendar-actions .primary{flex:1}
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{font-size:16px!important}
 .queueitem .stack button,.range-rank-row button,.range-rank-row select{min-width:40px;min-height:40px}
 .account-menu-panel :is(a,button){min-height:40px}
}
@media(prefers-reduced-motion:reduce){
 html:focus-within,html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

@media(min-width:1101px){.wish-shortcuts{display:none}}

/* Keep the phone account menu inside the screen, regardless of header wrapping. */
@media(max-width:700px){
 .meeting-header .account-menu-panel{
  position:fixed;
  top:calc(var(--meeting-header-height,98px) + 8px);
  right:max(12px,env(safe-area-inset-right));
  width:280px;
  max-width:calc(100vw - 24px);
  max-height:calc(100dvh - var(--meeting-header-height,98px) - 24px - env(safe-area-inset-bottom));
  overflow-y:auto;
  overscroll-behavior:contain;
 }
}
