:root{--bg: #f5f7fa;--panel: #ffffff;--ink: #142033;--muted: #5b6678;--line: #dde3eb;--accent: #1d4e89;--accent-ink: #ffffff;--accent-soft: #e8f0fa;--bar: #ffffff;--bar-ink: #142033;--pending: #c0262d;--pending-soft: rgba(220, 38, 38, .12);--ok: #1e7b45;--ok-soft: #e6f4ec;--bad: #6b7280;--bad-soft: #eef0f3;--personal: #5b4bb0;--personal-soft: #efecfb;--today: #eef4fc;--shadow: 0 10px 30px rgba(20, 32, 51, .12);--display: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--body: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font:14px/1.45 var(--body)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--display);font-weight:600;margin:0;text-wrap:balance}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.wrap{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));max-width:1400px;margin:0 auto}.topbar{background:var(--bar);color:var(--bar-ink);padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line);box-shadow:inset 0 3px 0 var(--accent)}.topbar .wrap{display:flex;align-items:center;gap:12px;padding-block:12px}.brand{font:700 18px/1.1 var(--display);color:var(--accent)}.brand small{display:block;font:500 11px/1.4 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.who{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;min-width:0}.who .em{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.role{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.menu-btn{background:var(--panel);border:1px solid var(--line);color:var(--bar-ink);border-radius:8px;padding:6px 10px}.menu{position:absolute;right:max(16px,env(safe-area-inset-right));top:calc(56px + env(safe-area-inset-top));background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);z-index:25;min-width:200px;padding:6px;display:flex;flex-direction:column}.menu button{background:none;border:0;text-align:left;padding:8px 10px;border-radius:6px}.menu button:hover{background:var(--bg)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-block:16px 10px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel)}.seg button{border:0;background:none;padding:7px 13px;font-weight:500;color:var(--muted)}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--accent);color:var(--accent-ink)}.nav{display:flex;align-items:center;gap:6px}.nav button{border:1px solid var(--line);background:var(--panel);border-radius:8px;height:34px;min-width:34px;padding:0 10px}.period{font:600 20px/1.2 var(--display);color:var(--ink);min-width:0}.spacer{flex:1}.btn{border:1px solid var(--line);background:var(--panel);padding:7px 14px;border-radius:8px;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{color:#c0262d;border-color:#c0262d;background:none}.btn.danger-solid{background:#c0262d;border-color:#c0262d;color:#fff}.delbox{background:#dc262612;border:1px solid rgba(192,38,45,.35);border-radius:10px;padding:10px 12px}.delbox .err{color:#c0262d;font-weight:600}.btn.sm{padding:4px 10px;font-size:13px}.btn[disabled]{opacity:.5;cursor:default}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding-bottom:14px}.chips{display:flex;gap:6px}.chipf{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:3px 11px;font-size:13px;color:var(--muted)}.chipf.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.search{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:6px 10px;width:min(260px,100%)}.count{color:var(--muted);font-size:13px}.st{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;white-space:nowrap}.st:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.st-pending{color:var(--pending);background:var(--pending-soft)}.st-confirmed{color:var(--ok);background:var(--ok-soft)}.st-cancelled{color:var(--bad);background:var(--bad-soft)}.st-personal{color:var(--personal);background:var(--personal-soft)}.ev{display:block;width:100%;text-align:left;border:0;border-radius:6px;padding:4px 7px;font-size:12.5px;line-height:1.3;overflow:hidden}.ev b{font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev small{display:block;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev.s-confirmed{background:var(--ok-soft);color:var(--ok)}.ev.s-pending{background:var(--pending-soft);color:var(--pending)}.ev.s-cancelled{background:var(--bad-soft);color:var(--bad);text-decoration:line-through}.ev.s-personal{background:var(--personal-soft);color:var(--personal)}.who-tag{font:600 10px/1 var(--mono);border:1px solid currentColor;border-radius:4px;padding:1px 3px;margin-right:5px;vertical-align:1px}.ev small.booked-line{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;opacity:.75;margin-top:2px}.owner{font-size:13px;color:var(--muted)}.owner b{color:var(--ink)}ul.booked{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}ul.booked li{border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:3px 9px;font-size:13px;font-weight:500}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-height:180px;display:flex;flex-direction:column;min-width:0}.day.today{background:var(--today)}.day h3{font:600 12px/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 10px 6px;display:flex;justify-content:space-between;align-items:baseline}.day h3{text-transform:none;letter-spacing:0;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 12px}.day .evs:empty{display:none}.day h3 .wname{display:inline-flex;align-items:center;gap:8px}.dadd{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--accent);font-size:18px;line-height:1;padding:0}.dadd:hover{background:var(--accent-soft)}.day h3 .wdate{font:700 14px/1.2 var(--display);color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:3px 8px;white-space:nowrap}.day.today h3 .wdate{background:var(--accent);color:var(--accent-ink)}.day h3 .wname{font:500 13px/1.2 var(--body);color:var(--muted);white-space:nowrap}.day .evs{display:flex;flex-direction:column;gap:5px;padding:0 12px 12px}.day .add{margin:auto 8px 8px;border:1px dashed var(--line);background:none;color:var(--muted);border-radius:6px;padding:3px;font-size:12px}.month{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.mhead,.mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.mhead div{padding:8px 10px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}.cell{min-height:112px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0}.cell:nth-child(7n){border-right:0}.cell.out{background:var(--bg)}.cell.out .dn{opacity:.45}.cell.today{background:var(--today)}.dn{font:600 13px/1 var(--body);display:flex;justify-content:space-between;align-items:center}.dn button{border:0;background:none;color:var(--muted);font-size:15px;line-height:1;padding:0 2px;opacity:0}.cell:hover .dn button,.dn button:focus-visible{opacity:1}.more{border:0;background:none;color:var(--muted);font-size:12px;text-align:left;padding:0 4px}.agenda{display:none}.agenda.show{display:flex;flex-direction:column;gap:10px}.agenda.show .aday{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px}.agenda.show .ad{text-align:center}.agenda.show .ad b{display:block;font:700 20px/1 var(--display)}.agenda.show .ad small{font-size:11px;color:var(--muted);text-transform:uppercase}.agenda.show .evs{display:flex;flex-direction:column;gap:5px;min-width:0}.bgroup+.bgroup{margin-top:8px}.bsub{display:block;font-size:12px;font-weight:600;color:var(--accent);margin-top:4px}.year{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.mcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}.mcard.now{border-color:var(--accent)}.mcard header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.mcard h3{font-size:17px}.mcard h3 button{border:0;background:none;padding:0;font:inherit;color:inherit}.mcard .tot{font-size:12px;color:var(--muted)}.yl{display:flex;flex-direction:column;gap:2px}.yl button{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;border:0;background:none;text-align:left;padding:3px 4px;border-radius:5px;font-size:13px}.yl button:hover{background:var(--bg)}.yl .d{color:var(--muted);font-family:var(--mono);font-size:12px;white-space:nowrap}.yl .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yl .s-pending .n{color:var(--pending)}.yl .s-cancelled .n{color:var(--bad);text-decoration:line-through}.yl .s-personal .n{color:var(--personal)}.empty{color:var(--muted);font-size:13px}.sheet-wrap{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow-x:auto}.sheet{border-collapse:collapse;width:100%;min-width:900px;font-size:13px}.sheet th{background:var(--accent);color:var(--accent-ink);text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);font-size:12px;position:sticky;top:0}.sheet td{padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}.sheet tr.mrow td{background:var(--bg);font:700 13px var(--display);padding:6px 10px}.sheet tr.r{cursor:pointer}.sheet tr.r:hover td{background:var(--bg)}.sheet tr.s-pending td{color:var(--pending);background:#dc26260d}.sheet tr.s-cancelled td{color:var(--muted);text-decoration:line-through}.sheet tr.s-personal td{color:var(--personal)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1480;z-index:30}.modal.is-pending{background:linear-gradient(#dc262612,#dc262612),var(--panel);box-shadow:inset 0 4px #c0262d,var(--shadow)}.modal.is-pending .booked li{background:var(--panel)}.modal{position:fixed;z-index:31;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 24px));max-height:calc(100% - 32px);overflow-y:auto;background:var(--panel);border-radius:14px;box-shadow:var(--shadow);padding:20px;display:flex;flex-direction:column;gap:14px}.modal-head{display:flex;gap:12px;align-items:flex-start}.modal-head h2{font-size:21px}.modal-head p{margin:3px 0 0;color:var(--muted)}.x{margin-left:auto;border:0;background:var(--bg);border-radius:8px;width:34px;height:34px;font-size:18px;flex:none}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form .wide{grid-column:1 / -1}.lbl{display:block;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.form input,.form select,.form textarea,.modal input[type=password],.modal input[type=email]{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--panel)}.form textarea{min-height:70px;resize:vertical}.ro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;border-top:1px solid var(--line);padding-top:12px}.ro div{font-weight:500;overflow-wrap:anywhere;white-space:pre-wrap}.row-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row-btns .spacer{flex:1}.err{color:var(--bad);font-size:13px}.hint{color:var(--muted);font-size:12.5px}.statusseg button.on.p{background:var(--pending-soft);color:var(--pending)}.statusseg button.on.c{background:var(--ok-soft);color:var(--ok)}.statusseg button.on.x2{background:var(--bad-soft);color:var(--bad)}.choice{display:flex;flex-direction:column;gap:8px}.choice label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer}.choice label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice small{display:block;color:var(--muted)}.team{width:100%;border-collapse:collapse}.team td{padding:8px 4px;border-bottom:1px solid var(--line)}.team select{border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:var(--panel)}ol.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.lcards{display:none;flex-direction:column;gap:8px}.lmonth{font-size:15px;margin:8px 0 0}.lcard{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:start;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}.lcard .ld{text-align:center;line-height:1.05}.lcard .ld b{display:block;font:700 20px/1 var(--display)}.lcard .ld small{font-size:11px;color:var(--muted);text-transform:uppercase}.lcard .lb{min-width:0;display:flex;flex-direction:column;gap:2px}.lcard .lb b{font-weight:600}.lcard .lb small{color:var(--muted);font-size:12.5px}.lcard.s-cancelled .lb b{text-decoration:line-through;color:var(--muted)}.lcard.s-pending{background:#dc262612;border-color:#c0262d59}.lcard.s-pending .lb b{color:var(--pending)}.fab{display:none;position:fixed;right:max(18px,calc(env(safe-area-inset-right) + 12px));bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));width:58px;height:58px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);font-size:30px;line-height:1;box-shadow:var(--shadow);z-index:20}.coswitch button{padding:6px 12px;font-weight:600}.warn{color:#b45309;margin-right:4px}.clash{background:#fff7e6;border:1px solid #f5c26b;border-radius:10px;padding:10px 12px;font-size:13.5px;color:#7a4a00}.clash ul{margin:6px 0 0;padding-left:18px}.clash .row-btns{margin-top:10px}.team-wrap{overflow-x:auto}.team th{text-align:left;font-size:12px;color:var(--muted);padding:6px 4px;border-bottom:1px solid var(--line)}.team td:first-child{overflow-wrap:anywhere;padding-right:10px}.feed{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:center}.feed b{grid-column:1 / -1}.feed input{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:12.5px var(--mono);background:var(--bg);min-width:0}.noacc{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.install-hero{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.install-hero img{border-radius:14px}.install-hero small{display:block;color:var(--muted)}ol.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}ul.sups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}ul.sups li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}ul.sups li.off{opacity:.55}ul.sups small{display:block;color:var(--muted);margin-top:2px}.tag{display:inline-block;font:600 11px/1.4 var(--mono);border:1px solid var(--line);border-radius:5px;padding:0 5px;margin-right:5px;color:var(--ink)}.tag.perf{color:var(--accent);border-color:var(--accent)}.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px}.check input{margin-top:3px;width:18px;height:18px}ul.bin{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}ul.bin li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}ul.bin li small{display:block;color:var(--muted)}.toast-act{border:0;background:none;color:#9cc3ff;font-weight:700;padding:2px 4px}.pw{position:relative}.pw input{padding-right:46px!important}.eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:none;color:var(--muted);border-radius:8px;display:grid;place-items:center}.eye:hover,.eye[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.login{min-height:100vh;display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))}.login form{border-top:4px solid var(--accent);width:min(380px,100%);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.login h1{font-size:26px}.login p{margin:0;color:var(--muted)}.login input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:var(--panel)}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;z-index:40;box-shadow:var(--shadow);width:max-content;max-width:calc(100% - 32px);font-size:13px;display:flex;align-items:center;gap:14px}@media (max-width: 760px){.toast{bottom:auto;top:calc(14px + env(safe-area-inset-top))}}.loading{color:var(--muted);padding:30px 0;text-align:center}@media (max-width: 900px),(max-height: 500px) and (orientation: landscape){.week{grid-template-columns:minmax(0,1fr)}.day{min-height:0}.day .add{margin-top:0}.month{display:none}.agenda{display:flex;flex-direction:column;gap:10px}.agenda .aday{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px}.agenda .aday.today{background:var(--today)}.agenda .ad{text-align:center}.agenda .ad b{display:block;font:700 20px/1 var(--display)}.agenda .ad small{font-size:11px;color:var(--muted);text-transform:uppercase}.agenda .evs{display:flex;flex-direction:column;gap:5px;min-width:0}}@media (max-width: 760px),(max-height: 500px) and (orientation: landscape){.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"period nav" "views views";gap:10px;padding-block:12px 8px}.period{grid-area:period;font-size:19px;align-self:center}.nav{grid-area:nav}.views{grid-area:views;display:grid;grid-template-columns:repeat(4,1fr)}.views button{padding:9px 4px}.spacer,.tb-export,.tb-new{display:none}.nav button{height:40px;min-width:40px}.filters{flex-direction:column;align-items:stretch;gap:8px}.chips{overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.chipf{padding:6px 13px;flex:none}.search{width:100%;padding:9px 12px}.search,.form input,.form select,.form textarea,.login input,.modal input[type=password]{font-size:16px}.count{font-size:12px}.day.none{flex-direction:row;align-items:center;justify-content:space-between}.day.none h3{flex:1}.day.none .add{margin:0 8px}.day .add{padding:8px;font-size:13px}.ev{padding:7px 9px;font-size:14px}.lcards{display:flex}.sheet-wrap{display:none}.fab{display:block}main.wrap{padding-bottom:70px}.year{grid-template-columns:minmax(0,1fr)}.yl button{padding:6px 4px;font-size:14px}.modal{left:0;right:0;top:auto;bottom:0;transform:none;width:100%;max-height:92vh;border-radius:16px 16px 0 0;padding:18px max(16px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.row-btns .btn{padding:10px 16px}.menu button{padding:12px}}@media (max-width: 760px) and (prefers-reduced-motion: no-preference),(max-height: 500px) and (orientation: landscape) and (prefers-reduced-motion: no-preference){.modal{animation:up .18s ease-out}@keyframes up{0%{transform:translateY(30px);opacity:.4}}}@media (max-height: 500px) and (orientation: landscape){.topbar .wrap{padding-block:6px}.brand small{display:none}.toolbar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"period views nav";padding-block:8px 6px}.filters{flex-direction:row;align-items:center;flex-wrap:nowrap}.search{width:auto;flex:1}.agenda,.lcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.lmonth{grid-column:1 / -1}.week,.year{grid-template-columns:repeat(2,minmax(0,1fr))}.modal{max-height:96vh}}@media (max-width: 760px){.topbar .wrap{flex-wrap:wrap}.coswitch{order:3;width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}}@media (max-width: 560px){.form{grid-template-columns:minmax(0,1fr)}.who .em{display:none}.period{font-size:17px;width:100%;order:-1}}@media (prefers-reduced-motion: no-preference){.modal{animation:pop .15s ease-out}@keyframes pop{0%{opacity:0;transform:translate(-50%,-48%)}}}.alertbar{background:var(--accent-soft);border-bottom:1px solid var(--line)}.alertbar .wrap{display:flex;align-items:center;gap:10px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}.alertbar span{flex:1 1 220px;font-size:13.5px}.alertstate{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.alertstate span{flex:1}ul.changes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}ul.changes button{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:9px 4px}ul.changes button:not(:disabled):hover{background:var(--bg)}ul.changes button:disabled{cursor:default;color:var(--muted)}ul.changes small{display:block;overflow-wrap:anywhere}.fresh{display:inline-block;font:600 10px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid #b9cde6;border-radius:4px;padding:2px 4px;margin-right:5px;vertical-align:1px;flex:none}.lcard.s-personal{background:var(--personal-soft);border-color:#5b4bb059}.lcard.s-personal .lb b{color:var(--personal)}.grp{--tbg: #e3f4e9;--tb: #7cc495;--tink: #12432a;border-left:6px solid var(--tb);background:var(--tbg);border-radius:8px;padding:8px 8px 9px;display:flex;flex-direction:column;gap:6px;color:var(--tink)}.grp+.grp{margin-top:6px}.grp.f-confirmed.t1{--tbg: #c3e7cf;--tb: #2f9157}.grp.f-confirmed.t2{--tbg: #9fd6b2;--tb: #145c35}.grp.f-pending{--tbg: #fde8e8;--tb: #ec9a9e;--tink: #8f1218}.grp.f-pending.t1{--tbg: #f8cdcf;--tb: #d4434a}.grp.f-pending.t2{--tbg: #f1abae;--tb: #9e141a}.grp.f-leave{--tbg: #efebfb;--tb: #a99be0;--tink: #3b2f80}.grp.f-leave.t1{--tbg: #dcd4f7;--tb: #6f5fc7}.grp.f-leave.t2{--tbg: #c7baf1;--tb: #4b3ba3}.grp.f-cancelled{--tbg: #f1f2f4;--tb: #b6bcc6;--tink: #5d6470}.grp.f-cancelled.t1{--tbg: #e3e5e9;--tb: #8a919c}.grp.f-cancelled.t2{--tbg: #d3d6dc;--tb: #5d6470}.grp.f-cancelled .gh .t{text-decoration:line-through}.gh{font-size:13px;line-height:1.4}.gh .t{display:block;font-size:14.5px;font-weight:700}.gh .cnt{font-size:11px;font-weight:600;background:#ffffffb3;border-radius:10px;padding:1px 7px;vertical-align:2px;margin-left:4px}.gl{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:#ffffffc7;border:1px solid rgba(0,0,0,.07);border-radius:6px;padding:6px 9px;font-size:13px;line-height:1.4;color:var(--ink)}.gl:hover{background:#fff}.gl b{font-weight:600}.gl .staff{display:block}.note{display:block;font-size:12.5px;opacity:.9;white-space:pre-line}.urg{display:block;margin-top:4px;background:#fff3f3;color:#a3161c;border:1px solid #f1b9bb;border-radius:5px;padding:3px 7px;font-weight:600;font-size:12.5px;white-space:pre-line}.urg.big{font-size:14px;padding:8px 10px}.ev.pp{border-left:4px solid var(--tb);background:var(--tbg);color:var(--tink);--tbg: #e3f4e9;--tb: #7cc495;--tink: #12432a}.ev.pp.f-confirmed.t1{--tbg: #c3e7cf;--tb: #2f9157}.ev.pp.f-confirmed.t2{--tbg: #9fd6b2;--tb: #145c35}.ev.pp.f-pending{--tbg: #fde8e8;--tb: #ec9a9e;--tink: #8f1218}.ev.pp.f-pending.t1{--tbg: #f8cdcf;--tb: #d4434a}.ev.pp.f-pending.t2{--tbg: #f1abae;--tb: #9e141a}.ev.pp.f-leave{--tbg: #efebfb;--tb: #a99be0;--tink: #3b2f80}.ev.pp.f-leave.t1{--tbg: #dcd4f7;--tb: #6f5fc7}.ev.pp.f-leave.t2{--tbg: #c7baf1;--tb: #4b3ba3}.ev.pp.f-cancelled{--tbg: #f1f2f4;--tb: #b6bcc6;--tink: #5d6470;text-decoration:line-through}.pday{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:10px}.pday .ad{text-align:center;line-height:1.05;padding-top:6px}.pday .ad b{display:block;font:700 20px/1 var(--display)}.pday .ad small{font-size:11px;color:var(--muted);text-transform:uppercase}.linkish{display:block;background:none;border:0;padding:4px 0;color:var(--accent);text-align:left;text-decoration:underline;text-underline-offset:2px}@media (min-width: 761px){.modal.wide{width:min(760px,calc(100% - 24px))}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.stat{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel);display:flex;flex-direction:column;gap:2px}.stat b{font:700 20px/1.2 var(--display);font-variant-numeric:tabular-nums}.stat small{color:var(--muted);font-size:12px}.stat.pending b{color:var(--pending)}.sh{font-size:15px;margin-top:6px}.legend{display:flex;gap:14px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}.b-cur{background:#2f6cb0}.b-prev{background:#d97a1f}.b-pend{background:repeating-linear-gradient(45deg,#2f6cb0 0,#2f6cb0 2px,#cfe0f3 2px,#cfe0f3 5px)}.mchart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;height:190px;border-bottom:1px solid var(--line);padding-top:6px}.mcol{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;background:none;border:0;padding:0;border-radius:6px;min-width:0}.mcol:hover,.mcol.sel{background:var(--bg)}.mcol .bars{flex:1;position:relative;min-height:0}.mcol .bars i{position:absolute;bottom:0;width:34%;max-width:16px;border-radius:4px 4px 0 0;display:flex;flex-direction:column;overflow:hidden}.mcol .bars .b-prev{right:51%}.mcol .bars .b-cur{left:51%}.mcol .bars .b-cur:only-child{left:50%;transform:translate(-50%)}.mcol .bars em{display:block;background:repeating-linear-gradient(45deg,#2f6cb0 0,#2f6cb0 2px,#cfe0f3 2px,#cfe0f3 5px)}.mcol .ml{font-size:11px;color:var(--muted);text-align:center;padding:4px 0 2px}.mcol.now .ml{color:var(--accent);font-weight:700}.tipline{min-height:1.4em;color:var(--ink)}.tbl summary{cursor:pointer;color:var(--accent);font-size:13px}.hbars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.hbars li{display:grid;grid-template-columns:minmax(80px,34%) minmax(0,1fr) auto;gap:8px;align-items:center;font-size:13px}.hbars .k{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbars .track{height:12px;background:var(--bg);border-radius:0 4px 4px 0}.hbars .track i{display:block;height:100%;background:#2f6cb0;border-radius:0 4px 4px 0;min-width:2px}.hbars .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.hbars .v small{display:block;font-weight:400;color:var(--muted);font-size:11.5px}.modal.wide>*{flex-shrink:0}.shirt{display:block;margin-top:4px;color:#a3161c;font-weight:700;font-size:12.5px;letter-spacing:.01em}.crewpick{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.crewpick .chipf{font-size:12px;padding:3px 9px}.crewpick.big .chipf{font-size:14px;padding:7px 12px}.myjobs{white-space:nowrap}.linkish.inline{display:inline;padding:0}#x-staffhint div{color:#8a4b00;margin-top:4px}.gl.short{background:#fff4d6;border:2px dashed #e0a100}.shortmsg{display:block;margin-top:3px;color:#8a5a00;font-weight:700;font-size:12.5px}.shortmsg.big{background:#fff4d6;border:1px solid #f0c75e;border-radius:5px;padding:7px 10px;font-size:14px}.ev.pp.short{outline:2px dashed #e0a100;outline-offset:-2px}.shortbar{background:#fff4d6;border-bottom:1px solid #f0c75e}.shortbar .wrap{display:flex;align-items:center;gap:10px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}.shortbar span{flex:1 1 220px;font-size:13.5px;color:#6b4600}.gl.clash{border:2px solid #c0262d;box-shadow:0 0 0 2px #c0262d1f}.ev.pp.clash{outline:2px solid #c0262d;outline-offset:-2px}.clashmsg{display:block;margin-top:3px;color:#a3161c;font-weight:700;font-size:12.5px}.addbooth{margin-left:8px;font-size:11.5px;font-weight:600;border:1px solid rgba(0,0,0,.15);background:#fffc;border-radius:12px;padding:1px 9px;vertical-align:2px;color:var(--accent)}.team-wrap{max-height:min(60vh,520px);overflow:auto}.team thead th{position:sticky;top:0;background:var(--panel);z-index:1;box-shadow:0 1px 0 var(--line)}.team select{max-width:120px}.hbars .k.linkish{text-align:left;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewdetail{display:flex;flex-direction:column;gap:12px}.unconf{color:#c0262d;font-weight:700}.actbtns{display:flex;flex-direction:column;gap:6px;align-items:stretch}.actbtns .btn{justify-content:center;min-width:96px}
