/* First-priority important layer isolates the timetable from ticket decorations. */
@layer timetable, app-finish;
@layer timetable {
.st-planner{--st-paper:#f3ece0;--st-ink:#141211;--st-muted:#5e5349;--st-line:#b8aca0;--st-red:#a72520;--st-selected:#e8d5d1;--st-dark:#24201d;--st-alert:#f4df9e;position:fixed!important;inset:0!important;z-index:95!important;background:var(--st-paper)!important;color:var(--st-ink)!important;overflow-y:auto!important;padding:env(safe-area-inset-top) 0 calc(30px + env(safe-area-inset-bottom))!important;font:400 15px/1.5 Archivo,sans-serif!important;letter-spacing:0!important}
body:has(.st-planner:not([hidden])) :is(#gs-w,#gs-p){display:none!important}
.st-planner[hidden]{display:none!important}
.st-planner *{box-sizing:border-box!important;letter-spacing:0!important;text-shadow:none!important;-webkit-text-fill-color:currentColor!important}
.st-planner :is(h2,h3,p,label,strong,small,span){color:inherit!important;font-family:Archivo,sans-serif!important}
.st-planner :is(button,.st-upload){appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto!important;min-height:44px!important;max-width:100%!important;padding:10px 14px!important;border:1px solid var(--st-line)!important;border-radius:0!important;background:var(--st-dark)!important;background-image:none!important;color:var(--st-paper)!important;font:600 14px/1.4 Archivo,sans-serif!important;box-shadow:none!important;filter:none!important;transform:none!important;mask:none!important;-webkit-mask:none!important;cursor:pointer!important;white-space:normal!important}
.st-planner :is(button,.st-upload)::before,.st-planner :is(button,.st-upload)::after{display:none!important}
.st-planner button:disabled{cursor:wait!important;opacity:1!important}
.st-planner :is(button,.st-upload) *{background:transparent!important;color:inherit!important;border:0!important}
.st-planner input,.st-planner select{min-width:0!important;max-width:100%!important;min-height:44px!important;padding:8px!important;border:1px solid var(--st-line)!important;background:var(--st-paper)!important;color:var(--st-ink)!important;font:400 15px Archivo,sans-serif!important;box-shadow:none!important;border-radius:0!important}
.st-planner input::placeholder{color:var(--st-muted)!important;opacity:1!important}
.st-planner input[type=file][hidden]{display:none!important}
.st-head{position:sticky!important;top:0!important;z-index:4!important;display:flex!important;align-items:center!important;gap:16px!important;justify-content:space-between!important;background:var(--st-paper)!important;border-bottom:3px solid var(--st-red)!important;padding:14px 20px!important}
.st-head h2{text-transform:none!important;font-size:20px!important;line-height:1.3!important;margin:0!important}
.st-head p{margin:3px 0 0!important;color:var(--st-muted)!important;font-size:13px!important}
.st-inner{max-width:1400px!important;margin:auto!important;padding:20px!important}
.st-toolbar{display:flex!important;gap:10px!important;flex-wrap:wrap!important;align-items:center!important;margin-bottom:16px!important}
.st-toolbar button[aria-pressed=true]{background:var(--st-red)!important;color:var(--st-paper)!important}
.st-message{margin:10px 0!important;white-space:pre-line!important;color:var(--st-muted)!important}
.st-alert{background:var(--st-alert)!important;border-left:3px solid var(--st-red)!important;padding:12px!important;margin-bottom:16px!important;color:var(--st-ink)!important}
.st-scroll{overflow:auto!important;border:1px solid var(--st-line)!important;background:var(--st-paper)!important;max-height:70vh!important}
.st-grid{display:grid!important;grid-template-columns:64px repeat(var(--st-columns),180px)!important;width:max-content!important;min-width:100%!important}
.st-scale,.st-track{position:relative!important;min-height:var(--st-height)!important;border-right:1px solid var(--st-line)!important}
.st-scale{position:sticky!important;left:0!important;z-index:2!important;background:var(--st-paper)!important}
.st-stage{font-size:13px!important;text-transform:none!important;position:sticky!important;top:0!important;z-index:3!important;padding:12px 6px!important;min-height:64px!important;background:var(--st-dark)!important;color:var(--st-paper)!important;border-right:1px solid var(--st-line)!important;font-weight:700!important;overflow-wrap:anywhere!important}
.st-hour{position:absolute!important;top:var(--st-y)!important;left:0!important;right:0!important;border-top:1px solid var(--st-line)!important;font-size:12px!important;padding:2px 4px!important;color:var(--st-muted)!important}
.st-planner button.st-set{position:absolute!important;top:var(--st-y)!important;left:5px!important;width:calc(100% - 10px)!important;min-height:46px!important;height:var(--st-size)!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;overflow:auto!important;background:var(--st-paper)!important;color:var(--st-ink)!important;border:1px solid var(--st-line)!important;border-left:3px solid var(--st-muted)!important;padding:7px!important;text-align:left!important;gap:2px!important}
.st-set small{font-size:12px!important;font-weight:400!important}
.st-planner button.st-set[aria-pressed=true],.st-planner button.st-list-set[aria-pressed=true]{background:var(--st-selected)!important;border-left:4px solid var(--st-red)!important;color:var(--st-ink)!important}
.st-planner button.st-list-set{display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;width:100%!important;background:var(--st-paper)!important;color:var(--st-ink)!important;border-bottom:1px solid var(--st-line)!important;margin:0 0 8px!important;gap:3px!important}
.st-planner .st-buddies{font-size:12px!important;font-weight:600!important;overflow-wrap:anywhere!important;color:var(--st-red)!important}
.st-buddy-status{color:var(--st-muted)!important;font-size:13px!important;margin:8px 0 14px!important}
.st-day-heading{text-transform:none!important;font-size:18px!important;margin:24px 0 10px!important}
.st-review{margin:16px 0!important;border-top:3px solid var(--st-red)!important;padding-top:16px!important}
.st-review img{display:block!important;max-height:240px!important;max-width:100%!important;object-fit:contain!important;margin-bottom:12px!important}
.st-review-row{display:grid!important;grid-template-columns:2fr 2fr 140px 110px 110px 48px!important;gap:8px!important;padding:12px 0!important;border-bottom:1px solid var(--st-line)!important}
.st-review-row label{display:flex!important;flex-direction:column!important;gap:4px!important;font-size:12px!important;font-weight:600!important}
.st-empty{padding:30px 0!important;color:var(--st-muted)!important}
.st-planner :focus-visible{outline:3px solid var(--st-red)!important;outline-offset:2px!important}
@media(max-width:700px){.st-inner{padding:14px!important}.st-head{padding:12px 14px!important}.st-review-row{grid-template-columns:1fr 1fr!important}.st-review-row label:first-child{grid-column:1/-1!important}.st-grid{grid-template-columns:52px repeat(var(--st-columns),164px)!important}.st-head h2{text-transform:none!important;font-size:18px!important}.st-toolbar>*{flex-grow:1!important}.st-toolbar select{max-width:100%!important}}
}
