:root{--bg:#f6f5f2;--panel:#ffffff;--ink:#1f2933;--muted:#65727f;--line:#d9dee3;--accent:#a94f42;--accent-dark:#843c33;--green:#cfead6;--green-border:#49a863;--yellow:#fff0bd;--yellow-border:#d8a70d;--gray:#f8d7da;--gray-border:#c62828;--white:#ffffff;--day-heading:#f3e2dc;--day-heading-text:#000000;--shadow:0 18px 45px rgba(31,41,51,0.12);--radius:18px;--hour-height:150px;--day-width:90rem}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(circle at top left,#fff 0,var(--bg) 35rem);display:flex;flex-direction:column}button,input{font:inherit}.admin-only{display:none !important}body.administrator-mode .admin-only{display:inline-flex !important}.app-header{flex:0 0 auto;display:flex;align-items:center;min-height:2.35rem;padding:.34rem clamp(1rem,3vw,2.5rem);background:linear-gradient(90deg,var(--ink),#334155);color:#fff;box-shadow:0 6px 18px rgba(31,41,51,.13)}.title-lockup{display:flex;align-items:center;min-width:0}.eyebrow{margin:0;font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.74);white-space:nowrap}h1,h2,h3,p{margin-top:0}.app-header h1{margin:0;font-size:clamp(1.18rem,2vw,1.55rem);font-weight:850;letter-spacing:-.025em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtitle{color:rgba(255,255,255,.7);margin-bottom:0;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-controls,.utility-controls{display:flex;flex-wrap:wrap;gap:.45rem}.data-status{margin:0.35rem 0 0;color:var(--muted);font-size:0.78rem;text-align:right}.data-status.data-error{color:var(--accent-dark);font-weight:700}button,.import-button{border:0;border-radius:999px;padding:.65rem .9rem;cursor:pointer;background:var(--ink);color:white;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:hover,.import-button:hover{transform:translateY(-1px)}.ghost{color:var(--ink);background:rgba(255,255,255,.78);border:1px solid var(--line)}.utility-button{min-height:2rem;padding:.38rem .65rem;font-size:.82rem;font-weight:800;color:#fff;border:1px solid transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.reset-button{background:#8b3a3a}.export-button{background:#25636f}.import-action{background:#5f4b8b}.reset-button:hover{background:#753131}.export-button:hover{background:#1f5360}.import-action:hover{background:#513f78}.layout{flex:1 1 auto;min-height:0;display:flex;padding:0 clamp(1rem,3vw,2.5rem) .75rem}.panel{background:rgba(255,255,255,.9);border:1px solid rgba(217,222,227,.9);border-radius:var(--radius);box-shadow:var(--shadow)}.calendar-toolbar h2{margin:0;font-size:1rem}.planner-topbar{flex:0 0 auto;z-index:30;margin:.55rem clamp(1rem,3vw,2.5rem) .55rem;padding:.5rem .68rem;backdrop-filter:blur(14px)}.topbar-main{display:grid;grid-template-columns:minmax(17rem,1.05fr) minmax(18rem,1.75fr);align-items:center;gap:.7rem}.filters-inline{display:flex;align-items:center;gap:.55rem;min-width:0}.compact-search{flex:1 1 15rem;min-width:12rem}.search-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}input[type="search"]{width:100%;height:2.25rem;padding:.45rem .7rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.9)}.filter-checks{display:flex;align-items:center;gap:.55rem;flex-wrap:nowrap}.checkbox-line{display:inline-flex;gap:.35rem;align-items:center;color:var(--muted);white-space:nowrap;font-size:.85rem}.compare-strip{display:flex;align-items:center;gap:.45rem;min-width:0}.compare-strip-label{flex:0 0 auto;font-weight:850;font-size:.88rem;color:var(--ink)}.compare-strip.has-selection .compare-strip-label{display:none}.compare-tray{display:flex;align-items:center;gap:.38rem;min-width:0;flex:1 1 auto;overflow:hidden}.compare-tray.empty{color:var(--muted);font-size:.86rem;white-space:nowrap}.compare-item{border:1px solid var(--line);border-radius:999px;padding:.34rem .55rem;background:#fff;min-width:7.5rem;max-width:14rem;flex:1 1 10rem;cursor:pointer}.compare-item strong{display:block;margin-bottom:.05rem;max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.12}.compare-item span{display:block;color:var(--muted);font-size:.72rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-conflict{color:var(--accent-dark);font-weight:800;margin-top:.12rem;font-size:.68rem;line-height:1}.compare-toggle-button{flex:0 0 auto;padding:.45rem .65rem;font-size:.82rem}.planner-topbar.expanded .topbar-main{align-items:start}.planner-topbar.expanded .compare-strip{align-items:start}.planner-topbar.expanded .compare-tray{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));overflow:visible}.planner-topbar.expanded .compare-item{max-width:none;border-radius:.85rem;padding:.65rem}.planner-topbar.expanded .compare-item strong{max-width:none;white-space:normal;overflow:visible}.planner-topbar.expanded .compare-item span{white-space:normal;overflow:visible}.calendar-panel{overflow:hidden;display:flex;flex-direction:column;min-height:0;width:100%}.calendar-toolbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:.85rem;padding:.58rem .75rem;border-bottom:1px solid var(--line)}.calendar-toolbar-title{min-width:28rem;display:flex;flex-direction:column;gap:.28rem}.calendar-title-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.zoom-controls{display:flex;align-items:center;gap:.38rem;flex-wrap:wrap}.zoom-set{display:inline-flex;align-items:center;gap:.2rem;padding:.16rem .24rem .16rem .46rem;border-radius:999px;background:rgba(31,41,51,.06);border:1px solid rgba(217,222,227,.95)}.zoom-set-label{color:var(--muted);font-size:.74rem;font-weight:850;white-space:nowrap}.zoom-button{min-width:1.55rem;height:1.55rem;padding:0 .38rem;border-radius:999px;background:white;color:var(--ink);border:1px solid var(--line);font-size:.88rem;font-weight:900;line-height:1}.zoom-button.reset{min-width:2.25rem;font-size:.68rem;font-weight:850}.toolbar-controls{display:flex;justify-content:flex-end;align-items:center;gap:.65rem;flex-wrap:wrap}.calendar-toolbar p{margin-bottom:0}.muted{color:var(--muted)}.day-filter{min-height:2rem;padding:.38rem .65rem;background:white;color:var(--ink);border:1px solid var(--line);font-size:.84rem;font-weight:800}.day-filter.active{background:var(--accent);color:white;border-color:var(--accent)}.calendar{flex:1 1 auto;min-height:0;overflow:auto;max-height:none;background:#fbfbfa}.calendar-grid{display:grid;grid-template-columns:5.5rem repeat(var(--day-count),minmax(var(--day-width),1fr));min-width:max(100%,calc(var(--day-count) * var(--day-width) + 5.5rem + ((var(--day-count) - 1) * 1.4rem)));column-gap:1.4rem;background:#f0f1f2}.all-days-stack{--readable-day-width:max(var(--day-width),64rem);display:flex;flex-direction:column;gap:1.4rem;min-width:100%}.all-days-stack>.calendar-grid{grid-template-columns:5.5rem minmax(var(--readable-day-width),1fr);min-width:max(100%,calc(var(--readable-day-width) + 5.5rem))}.time-gutter,.day-column{position:relative;height:var(--calendar-height,calc(var(--duration-hours) * var(--hour-height)))}.day-heading,.time-heading{position:sticky;top:0;z-index:5;height:3.2rem;display:flex;align-items:center;padding:0 .75rem;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);font-weight:800}.day-heading{border-left:1px solid var(--line);border-right:1px solid var(--line)}.time-heading{left:0;z-index:6}.time-gutter{border-right:1px solid var(--line);background:#fff}.time-label{position:absolute;left:.55rem;right:auto;z-index:2;color:var(--muted);background:#fff;border-radius:.28rem;padding:.06rem .28rem .08rem;font-size:.78rem;line-height:1;transform:none}.hour-line{position:absolute;left:0;right:0;z-index:0;height:1px;pointer-events:none}.hour-line.major{height:2px;background:#b8c0ca}.hour-line.minor{background:#e6eaef}.day-column{border-left:1px solid var(--line);border-right:1px solid var(--line);background-color:#fbfbfa;isolation:isolate}.event-card{--card-bg:var(--white);--card-border:var(--line);position:absolute;left:.55rem;right:.55rem;min-height:4.8rem;padding:.7rem .7rem .55rem;border:1px solid var(--card-border);border-radius:1rem;background:var(--card-bg);box-shadow:0 10px 25px rgba(31,41,51,.12);cursor:pointer;overflow:hidden;z-index:2}.event-card:focus{outline:3px solid rgba(169,79,66,.28)}.event-card.green{--card-bg:var(--green);--card-border:var(--green-border)}.event-card.yellow{--card-bg:var(--yellow);--card-border:var(--yellow-border)}.event-card.gray{--card-bg:var(--gray);--card-border:var(--gray-border)}.event-card.gray h3{text-decoration:line-through}.event-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.45rem;min-width:0}.event-time{min-width:0;font-size:.76rem;font-weight:850;letter-spacing:.01em;color:var(--accent-dark);min-height:1.6rem;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-schedule{flex:1 1 auto;min-width:0}.event-room,.dialog-room{color:var(--muted);font-size:.74rem;font-weight:700;line-height:1.2}.event-room{margin-top:-.15rem}.dialog-room{margin:.15rem 0 0}.event-card h3{font-size:.95rem;line-height:1.2;margin:.2rem 0 .35rem 0;overflow-wrap:anywhere}.event-speakers{font-size:.78rem;color:var(--muted);white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.25}.event-check{position:relative;flex:0 0 1.6rem;width:1.6rem;height:1.6rem}.event-check input{position:absolute;opacity:0}.event-check span{width:1.6rem;height:1.6rem;border-radius:.5rem;display:grid;place-items:center;border:1px solid var(--line);background:white;color:transparent;font-weight:900}.event-check input:checked + span{background:var(--accent);color:white;border-color:var(--accent)}body.compact-vertical-events .event-card{padding:.42rem .5rem .38rem;min-height:0}body.compact-vertical-events .event-schedule,body.compact-vertical-events .event-check{display:none}body.compact-vertical-events .event-card-header{display:none}body.compact-vertical-events .event-card h3{margin:0 0 .2rem;font-size:.87rem;line-height:1.12}body.compact-vertical-events .event-speakers{font-size:.72rem;line-height:1.16}.color-choice[data-color="green"]{background:var(--green);color:#164d27}.color-choice[data-color="yellow"]{background:var(--yellow);color:#5e4300}.color-choice[data-color="gray"]{background:var(--gray);color:#7f1d1d}.color-choice[data-color="white"]{background:var(--white);color:var(--ink)}.session-dialog{width:min(62rem,calc(100vw - 2rem));border:0;border-radius:1.25rem;padding:0;box-shadow:var(--shadow)}.session-dialog::backdrop{background:rgba(31,41,51,.48)}.dialog-card{padding:1.35rem}.close-button{position:absolute;top:.8rem;right:.8rem;width:2.2rem;height:2.2rem;padding:0;border-radius:50%;background:#f0f2f4;color:var(--ink)}.dialog-header{display:flex;justify-content:space-between;gap:1rem;align-items:start;padding-right:2rem}.dialog-header h2{font-size:clamp(1.45rem,3vw,2.35rem);letter-spacing:-.035em;line-height:1.05;margin-bottom:.5rem}.dialog-time{color:var(--muted);margin-bottom:0}.compare-toggle{display:inline-flex;gap:.45rem;align-items:center;white-space:nowrap;font-weight:800}.decision-row{display:flex;gap:.5rem;flex-wrap:wrap;padding:1.1rem 0}.color-choice{color:var(--ink);border:1px solid var(--line)}.color-choice.active{outline:3px solid rgba(169,79,66,.3)}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0 0 1.2rem}.details-grid div{background:#f7f8f9;border:1px solid var(--line);border-radius:.9rem;padding:.85rem}dt{font-weight:850;margin-bottom:.25rem}dd{margin:0;color:var(--muted)}.description{line-height:1.55;color:#3d4751}.description ul{margin-top:.5rem}@media (max-width:940px){.subtitle{display:none}.topbar-main{grid-template-columns:1fr;align-items:stretch}}@media (max-width:640px){.app-header{min-height:2.35rem}.calendar-toolbar-title{min-width:0}.zoom-controls{gap:.25rem}.zoom-set{padding-left:.35rem}.title-lockup{gap:.5rem}.planner-topbar{position:static}.filters-inline{align-items:stretch;flex-direction:column}.filter-checks{flex-wrap:wrap}.compare-strip{align-items:stretch;flex-direction:column}.calendar-toolbar{align-items:stretch;flex-direction:column}.toolbar-controls{justify-content:flex-start}.utility-controls,.view-controls{gap:.35rem}.details-grid{grid-template-columns:1fr}.dialog-header{flex-direction:column}}.compare-actions{display:flex;flex-direction:column;align-items:stretch;gap:.24rem;flex:0 0 auto}.compare-open-button{width:100%;padding:.45rem .68rem;font-size:.82rem}.compare-clear-button{width:100%;padding:.28rem .58rem;font-size:.74rem;color:var(--accent-dark);border-color:rgba(169,79,66,.32);background:rgba(255,246,244,.9)}.compare-helper{display:none;margin:0;color:var(--muted);font-size:.82rem;line-height:1.35}.planner-topbar.expanded .compare-actions{align-self:start;flex-wrap:wrap}.planner-topbar.expanded .compare-helper{display:block;width:100%}.compare-dialog{width:min(96rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);border:0;border-radius:1.25rem;padding:0;box-shadow:var(--shadow)}.compare-dialog.many-compare-columns{width:min(118rem,calc(100vw - .5rem));max-height:calc(100vh - .5rem);border-radius:.95rem}.compare-dialog::backdrop{background:rgba(31,41,51,.48)}.compare-dialog-card{max-height:calc(100vh - 2rem);padding:1.35rem;overflow:hidden;display:flex;flex-direction:column;position:relative}.compare-dialog.many-compare-columns .compare-dialog-card{max-height:calc(100vh - .5rem);padding:.85rem}.compare-scroll-shell{min-height:0;width:100%;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;padding:0 .25rem .7rem 0;position:relative;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges}.compare-dialog.has-compare-overflow:not(.compare-scroll-at-end) .compare-scroll-shell{border-right:1px solid rgba(31,41,51,.08)}.compare-dialog.has-compare-overflow:not(.compare-scroll-at-end) .compare-dialog-card::after{content:"";position:absolute;top:6.25rem;right:.65rem;bottom:.95rem;width:2.5rem;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.92));border-radius:0 .8rem .8rem 0}.compare-dialog-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding-right:2.6rem;margin-bottom:1rem;flex:0 0 auto}.compare-dialog-header h2{margin-bottom:.35rem;font-size:clamp(1.45rem,3vw,2.35rem);letter-spacing:-.035em;line-height:1.05}.compare-dialog-tools{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem}.compare-popup-zoom{display:inline-flex;align-items:center;gap:.24rem;border:1px solid var(--line);border-radius:999px;padding:.18rem .25rem .18rem .55rem;background:rgba(255,255,255,.78)}.compare-popup-zoom span,.align-compare-toggle{color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}.compare-popup-zoom-button{min-width:1.7rem;min-height:1.7rem;padding:.14rem .4rem;font-size:.78rem}.compare-popup-zoom-button.reset{min-width:2.35rem}.align-compare-toggle{display:inline-flex;align-items:center;gap:.28rem;border:1px solid var(--line);border-radius:999px;padding:.34rem .58rem;background:rgba(255,255,255,.78)}.clear-compare-button{flex:0 0 auto;margin-top:0;white-space:nowrap;border-color:rgba(169,79,66,.35);color:var(--accent-dark);background:rgba(255,246,244,.9)}.compare-grid{--compare-count:1;--compare-column-width:16rem;--compare-gap:.85rem;--compare-grid-width:100%;--compare-grid-min-width:100%;display:grid;grid-template-columns:repeat(var(--compare-count),minmax(0,var(--compare-column-width)));gap:var(--compare-gap);width:var(--compare-grid-width);min-width:var(--compare-grid-min-width);padding-bottom:.35rem}.compare-dialog.many-compare-columns .compare-grid{--compare-gap:.55rem}.compare-column{--column-bg:var(--white);--column-border:var(--line);display:flex;flex-direction:column;gap:.8rem;border:1px solid var(--column-border);border-top-width:.45rem;border-radius:1rem;padding:.95rem;background:var(--column-bg);min-width:0;width:var(--compare-column-width);position:relative}.compare-column-close{position:absolute;top:.45rem;right:.45rem;width:1.55rem;height:1.55rem;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(31,41,51,.14);background:rgba(255,255,255,.78);color:var(--muted);font-size:.95rem;line-height:1;z-index:2}.compare-column-close:hover{color:var(--accent-dark);border-color:rgba(169,79,66,.35);background:rgba(255,246,244,.95)}.compare-dialog.many-compare-columns .compare-column{padding:.72rem;gap:.62rem}.compare-column.green{--column-bg:var(--green);--column-border:var(--green-border)}.compare-column.yellow{--column-bg:var(--yellow);--column-border:var(--yellow-border)}.compare-column.gray{--column-bg:var(--gray);--column-border:var(--gray-border)}.compare-column.gray h3{text-decoration:line-through}.compare-title-section{min-width:0}.compare-column h3{margin:0;font-size:1.02rem;line-height:1.18}.compare-dialog.aligned-compare-sections .compare-align-section{transition:min-height .12s ease}.compare-time{margin:0;color:var(--accent-dark);font-weight:800;line-height:1.35}.compare-column-topline{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding-right:1.8rem}.decision-pill,.conflict-pill{border-radius:999px;padding:.25rem .55rem;border:1px solid var(--line);background:rgba(255,255,255,.72);font-size:.74rem;font-weight:850}.decision-pill.green{border-color:var(--green-border);color:#164d27}.decision-pill.yellow{border-color:var(--yellow-border);color:#5e4300}.decision-pill.gray{border-color:var(--gray-border);color:#30363d}.decision-pill.white{color:var(--ink)}.conflict-pill{color:var(--accent-dark);border-color:rgba(169,79,66,.35)}.compare-details-list{display:grid;gap:.5rem;margin:0}.compare-details-list div{background:rgba(255,255,255,.72);border:1px solid rgba(217,222,227,.78);border-radius:.75rem;padding:.65rem}.compare-dialog.many-compare-columns .compare-details-list div,.compare-dialog.many-compare-columns .compare-description{padding:.55rem}.compare-details-list dt{font-size:.78rem;margin-bottom:.25rem}.compare-details-list dd{font-size:.86rem;line-height:1.4}.compare-description{background:rgba(255,255,255,.72);border:1px solid rgba(217,222,227,.78);border-radius:.75rem;padding:.65rem;line-height:1.45;color:#3d4751}.compare-description h4{margin:0 0 .45rem;font-size:.9rem}.compare-description p,.compare-description ul{margin-top:0}.compare-description ul{padding-left:1.15rem}.compare-column-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto;padding-top:.25rem}.compare-column-actions button{font-size:.85rem;padding:.55rem .7rem}@media (max-width:780px){.compare-dialog{width:calc(100vw - .35rem);max-height:calc(100dvh - .35rem)}.compare-dialog-card{max-height:calc(100dvh - .35rem);padding:.75rem}.compare-dialog-header{flex-direction:column;padding-right:2.1rem;gap:.55rem}.compare-dialog-tools{justify-content:flex-start;width:100%}.compare-grid{--compare-column-width:max(15rem,82vw)}}.compare-color-actions{display:flex;gap:.42rem;align-items:center;margin-top:-.25rem}.compare-color-button{width:1.35rem;height:1.35rem;border-radius:999px;border:2px solid rgba(31,41,51,.28);box-shadow:inset 0 0 0 2px rgba(255,255,255,.65);padding:0}.compare-color-button.green{background:var(--green-border)}.compare-color-button.yellow{background:var(--yellow-border)}.compare-color-button.gray{background:var(--gray-border)}.compare-color-button.white{background:var(--white)}.compare-color-button.active{outline:3px solid rgba(169,79,66,.28);border-color:var(--accent-dark)}@media (max-width:760px){html,body{height:100dvh;min-height:100dvh;width:100%;overflow:hidden}body{background:var(--bg)}button,.import-button{min-height:2rem;padding:.48rem .62rem}.app-header{min-height:2.45rem;padding:.42rem .7rem}.app-header h1{font-size:clamp(1rem,5vw,1.18rem);line-height:1.06}.planner-topbar{margin:.42rem .45rem;padding:.42rem;border-radius:1rem}.topbar-main{grid-template-columns:1fr;gap:.42rem}.filters-inline{flex-direction:row;flex-wrap:wrap;gap:.38rem;align-items:center}.compact-search{flex:1 0 100%;min-width:0}input[type="search"]{height:2rem;padding:.38rem .62rem;font-size:.92rem}.filter-checks{width:100%;gap:.45rem;overflow-x:auto;padding-bottom:.04rem;-webkit-overflow-scrolling:touch}.checkbox-line{flex:0 0 auto;font-size:.8rem}.compare-strip{flex-direction:row;align-items:center;min-height:2.05rem;gap:.35rem}.compare-tray.empty{display:none}.compare-actions{flex:0 0 auto}.compare-open-button,.compare-toggle-button{padding:.38rem .55rem;font-size:.78rem}.compare-tray{gap:.32rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.compare-item{flex:0 0 9rem;min-width:9rem;max-width:9rem;padding:.28rem .46rem}.compare-item strong{font-size:.76rem;max-width:18ch}.compare-item span{font-size:.66rem}.planner-topbar.expanded{max-height:36dvh;overflow:auto}.planner-topbar.expanded .compare-strip{flex-direction:column;align-items:stretch}.planner-topbar.expanded .compare-tray{display:grid;grid-template-columns:1fr;overflow:visible}.planner-topbar.expanded .compare-item{min-width:0;max-width:none;width:100%}.layout{padding:0 .45rem .45rem}.calendar-panel{border-radius:1rem}.calendar-toolbar{padding:.42rem;gap:.45rem}.calendar-toolbar-title{min-width:0;gap:.22rem}.calendar-title-row{gap:.45rem}.calendar-toolbar h2{font-size:.92rem}.zoom-controls{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.08rem;-webkit-overflow-scrolling:touch}.zoom-set{flex:0 0 auto;padding:.12rem .18rem .12rem .35rem}.zoom-set-label{font-size:.68rem}.zoom-button{min-width:1.42rem;height:1.42rem;padding:0 .28rem;font-size:.8rem}.zoom-button.reset{min-width:2rem;font-size:.62rem}.toolbar-controls{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:.4rem;padding-bottom:.1rem;-webkit-overflow-scrolling:touch}.view-controls,.utility-controls{flex:0 0 auto;flex-wrap:nowrap;gap:.32rem}.day-filter,.utility-button{min-height:1.9rem;padding:.34rem .52rem;font-size:.76rem}.calendar{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.calendar-grid{grid-template-columns:3.75rem repeat(var(--day-count),minmax(var(--day-width),1fr));min-width:max(100%,calc(var(--day-count) * var(--day-width) + 3.75rem + ((var(--day-count) - 1) * .85rem)));column-gap:.85rem}.all-days-stack>.calendar-grid{grid-template-columns:3.75rem minmax(var(--readable-day-width),1fr);min-width:max(100%,calc(var(--readable-day-width) + 3.75rem))}.day-heading,.time-heading{height:2.45rem;padding:0 .45rem;font-size:.78rem;line-height:1.12}.time-label{left:.2rem;padding:.06rem .18rem .08rem;font-size:.66rem}.event-card{left:.28rem;right:.28rem;padding:.46rem .48rem .38rem;border-radius:.82rem;box-shadow:0 7px 17px rgba(31,41,51,.11)}.event-time{font-size:.66rem;min-height:1.3rem}.event-card h3{font-size:.78rem;line-height:1.12;margin:.15rem 0 .22rem}.event-speakers{font-size:.66rem;line-height:1.14}.event-check,.event-check span{width:1.3rem;height:1.3rem;border-radius:.42rem}.event-check{flex-basis:1.3rem}.session-dialog,.compare-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.dialog-card,.compare-dialog-card{height:100dvh;max-height:100dvh;padding:1rem}.dialog-card{overflow:auto}.compare-dialog-card{overflow:hidden;display:flex;flex-direction:column}.close-button{top:.65rem;right:.65rem;width:2rem;height:2rem}.dialog-header,.compare-dialog-header{padding-right:2.2rem}.compare-dialog-header{flex-wrap:wrap;gap:.55rem}.clear-compare-button{padding:.48rem .62rem;font-size:.82rem}.dialog-header h2,.compare-dialog-header h2{font-size:clamp(1.3rem,7vw,1.9rem)}.decision-row{gap:.38rem;padding:.8rem 0}.color-choice{padding:.48rem .62rem;font-size:.82rem}.details-grid{grid-template-columns:1fr}.details-grid div{padding:.68rem}.description{font-size:.94rem;line-height:1.48}.compare-grid{grid-template-columns:repeat(var(--compare-count),minmax(0,var(--compare-column-width)));width:var(--compare-grid-width);min-width:var(--compare-grid-min-width);gap:var(--compare-gap)}.compare-column{min-width:0;width:var(--compare-column-width);padding:.78rem}.compare-dialog.has-compare-overflow:not(.compare-scroll-at-end) .compare-dialog-card::after{top:9.2rem;right:.3rem;width:1.8rem}}@media (max-width:420px){.app-header h1{font-size:.98rem}.calendar-grid{grid-template-columns:3.45rem repeat(var(--day-count),minmax(var(--day-width),1fr));min-width:max(100%,calc(var(--day-count) * var(--day-width) + 3.45rem + ((var(--day-count) - 1) * .65rem)));column-gap:.65rem}.all-days-stack>.calendar-grid{grid-template-columns:3.45rem minmax(var(--readable-day-width),1fr);min-width:max(100%,calc(var(--readable-day-width) + 3.45rem))}.day-heading,.time-heading{height:2.3rem;font-size:.72rem}.compare-item{flex-basis:8.4rem;min-width:8.4rem;max-width:8.4rem}}:root{--bg:#f3f6fb;--panel:#ffffff;--ink:#000000;--muted:#666666;--line:#d5deea;--accent:#3158a6;--accent-dark:#23417d;--green:#cfead6;--green-border:#49a863;--yellow:#fff0bd;--yellow-border:#d8a70d;--gray:#f8d7da;--gray-border:#c62828;--shadow:0 5px 14px rgba(0,0,0,.10);--radius:3px}body{font-family:Arial,Helvetica,sans-serif;line-height:1.6;background:var(--bg)}.app-header{min-height:3rem;padding-top:.55rem;padding-bottom:.55rem;background:var(--accent);border-bottom:8px solid #dfb15d;box-shadow:none}.app-header h1{font-weight:800;letter-spacing:.01em;text-transform:uppercase}h1,h2,h3{color:#24375d;line-height:1.3}.app-header h1{color:#ffffff}button,.import-button{border-radius:0;font-size:.9em;font-weight:800;letter-spacing:.03em;text-transform:uppercase;transition:background-color .3s,border-color .3s,color .3s,opacity .3s}button:hover,.import-button:hover{transform:none;filter:brightness(.94)}.utility-button,.import-action,.export-button{background:var(--accent)}.utility-button:hover,.import-action:hover,.export-button:hover{background:var(--accent-dark)}.reset-button,.reset-button:hover{background:#b20000}.ghost,.day-filter,.zoom-button{background:#ffffff;border-color:var(--accent);color:var(--accent-dark)}.ghost:hover,.day-filter:hover,.zoom-button:hover,.day-filter.active{background:var(--accent);color:#ffffff}.panel,.dialog-card,.compare-dialog-card{background:#ffffff;border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.planner-topbar{backdrop-filter:none}input[type="search"]{border-radius:0;border-color:#c9bdae}input[type="search"]:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(49,88,166,.18);outline:0}.day-heading,.time-heading{background:var(--accent);color:#ffffff;border-color:var(--accent-dark);border-radius:0;text-transform:uppercase;letter-spacing:.03em}.calendar-day{background-color:rgba(255,255,255,.72);border-color:#d8cbbd;border-radius:0}.compare-item,.details-grid div,.color-choice{border-radius:10px}.event-card,.compare-column{border-radius:1rem;box-shadow:none}.event-card{border-left-width:0px;margin-left:5px}.event-card h3,.compare-column h3{color:var(--accent-dark)}.compare-item{border-color:#c9bdae}.compare-strip-label,.search-label,.dialog-meta strong,.details-grid dt{color:var(--accent-dark)}.data-status.data-error,.compare-conflict{color:#b20000}::selection{background:#fec578;color:#000000}body{background:#ffffff}h1,h2,h3{color:#000000;font-weight:600}.app-header h1{color:#ffffff}.panel,.dialog-card,.compare-dialog-card{border:1px solid #dddddd;box-shadow:none}.day-filter{margin:0 .1em -1px 0;padding-left:15px;padding-right:15px;background:rgba(0,0,0,.04);border:0;border-top:2px solid #dddddd;border-left:1px solid #dddddd;border-right:1px solid #dddddd;color:#696969;text-transform:none}.day-filter:hover{background:#ffffff;color:#000000}.day-filter.active{position:relative;z-index:1;background:#ffffff;border-top-color:var(--accent);color:#000000}.calendar-shell{background:#ffffff;border:1px solid #dddddd;border-radius:0}.day-heading,.time-heading{background:var(--day-heading);border:0;border-bottom:1px solid #dddddd;color:var(--day-heading-text);font-weight:600;text-transform:none}.calendar-grid{border-top:3px solid var(--accent)}.calendar-day{background-color:#ffffff;border:1px solid #e4e4e4}.calendar-day::before{opacity:.55}.event-card{border-color:#e4e4e4;box-shadow:none;color:#696969}.event-card.white:nth-child(even){background-color:#f7f7f7}.event-time{color:#000000;font-weight:600}.event-card h3,.compare-column h3{color:var(--accent);font-weight:600}.event-speakers{color:#696969;font-size:.9em;font-style:italic}.dialog-meta,.description,.details-grid dd,.compare-column dd{color:#696969}.details-grid dt,.compare-column dt{color:#000000;font-weight:600}.compare-column,.details-grid div{border-color:#e4e4e4}.calendar-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:.7rem .75rem 0;column-gap:1rem;row-gap:.55rem;border-bottom:1px solid #dddddd}.toolbar-controls{align-self:start}.view-controls{grid-column:1 / -1;display:flex;align-items:flex-end;flex-wrap:nowrap;gap:.5rem;overflow-x:auto;margin-bottom:-1px;padding:0;scrollbar-width:thin}.calendar-meta-row{display:flex;align-items:center;gap:1.1rem;overflow-x:auto;white-space:nowrap}.session-star-legend{display:flex;flex-wrap:nowrap;gap:1.1rem;color:#555555;font-size:inherit}.session-star-legend[hidden]{display:none}.session-star-legend>span{display:inline-flex;align-items:center;gap:.3rem}.session-star{display:inline-block;flex:0 0 auto;margin-right:.28rem;font-size:1.05em;line-height:1;text-decoration:none}.session-star[data-star-label]{cursor:help}.session-star[data-star-label]:focus-visible{border-radius:3px;outline:2px solid var(--accent-dark);outline-offset:2px}.session-star-tooltip{position:fixed;z-index:1000;max-width:min(24rem,calc(100vw - 16px));padding:.5rem .7rem;border:1px solid var(--accent-dark);border-radius:8px;background:#843c33;box-shadow:0 6px 18px rgba(31,41,51,.2);color:#ffffff;font-size:.78rem;line-height:1.3;pointer-events:none}.session-star-tooltip[hidden]{display:none}.analytics-consent{position:fixed;right:1rem;bottom:1rem;left:1rem;z-index:1100;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:60rem;margin:0 auto;padding:1rem;border:1px solid var(--accent-dark);border-radius:10px;background:#ffffff;box-shadow:0 8px 28px rgba(31,41,51,.25)}.admin-settings-button{align-items:center;background:var(--accent-dark);text-decoration:none}.analytics-consent[hidden],.analytics-settings[hidden],.back-to-top[hidden]{display:none}.analytics-consent p{margin:.25rem 0 0;color:#555555;font-size:.85rem}.analytics-consent-actions{display:flex;flex:0 0 auto;gap:.5rem}.floating-icon-button{position:fixed;bottom:.75rem;z-index:1090;display:inline-flex;width:2.1rem;height:2.1rem;align-items:center;justify-content:center;padding:0;border-radius:50%;background:#ffffff;color:var(--accent-dark);box-shadow:0 2px 8px rgba(31,41,51,.15)}.floating-icon-button svg{width:1.05rem;height:1.05rem;fill:currentColor}.floating-icon-button:hover,.floating-icon-button:focus-visible{background:var(--accent-dark);color:#ffffff}.analytics-settings{right:3.35rem}.back-to-top{right:.75rem}@media (max-width:640px){.analytics-consent{align-items:stretch;flex-direction:column}.analytics-consent-actions{justify-content:flex-end}}.day-filter{flex:0 0 auto;min-height:2.65rem;margin:0;padding:.55rem 25px;border-bottom:1px solid #dddddd;border-radius:10px 10px 0 0;white-space:nowrap}.day-filter:hover{background:var(--accent-dark);border-top-color:var(--accent-dark);color:#ffffff}.day-filter.active{background:#ffffff;border-bottom-color:#ffffff;border-top-color:var(--accent);color:#000000}@media (max-width:640px){.calendar-toolbar{grid-template-columns:minmax(0,1fr);align-items:stretch;padding:.55rem .45rem 0}.toolbar-controls,.view-controls{grid-column:1}.view-controls{gap:.25rem}.day-filter{padding-right:15px;padding-left:15px}}.event-card.has-category{border:3px solid var(--category-color)}
