:root{--ink:#1b1f24;--muted:#5b6470;--accent:#1f3a5f;--line:#d8dde3;--surface:#fff;--page:#f6f7f9;color:var(--ink);background:var(--page);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}body{margin:0}.page{max-width:44rem;margin:0 auto;padding:1.5rem 1rem 4rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header h1{margin:0;font-size:1.6rem}button,.button,select{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:.5rem .9rem}.button{background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}button:focus-visible,.button:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #f2a900}.week-nav{gap:.5rem;margin:1.5rem 0;display:flex}.week-nav select{flex:1;min-width:0}.announcement{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:1rem;padding:1rem 1.25rem}.announcement h2{margin:0 0 .5rem;font-size:1.2rem}.attachments{padding-left:1.2rem}.sign-in{text-align:center;padding-top:20vh}.update-banner{padding:.5rem 1rem;padding-top:max(.5rem, env(safe-area-inset-top));background:var(--accent);color:#fff;justify-content:center;align-items:center;gap:.75rem;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.submit-form{gap:1.25rem;margin-top:1.5rem;display:grid}.submit-form fieldset{border:1px solid var(--line);border-radius:8px;gap:.75rem;padding:.75rem 1rem 1rem;display:grid}.submit-form legend{padding:0 .25rem;font-weight:600}.field{gap:.35rem;display:grid}.field.inline{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem}.field label,.field .label{font-weight:600}.field input:not([type=checkbox]):not([type=file]),.field textarea,.rich-text-area{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-sizing:border-box;border-radius:6px;width:100%;padding:.55rem .7rem}.field input:focus-visible,.field textarea:focus-visible,.rich-text-area:focus-visible,.link-button:focus-visible{outline-offset:1px;outline:3px solid #f2a900}.check{align-items:flex-start;gap:.5rem;display:flex}.check input{margin-top:.3rem}.hint{color:var(--muted);margin:0;font-size:.9rem}.hint.warn,.error{color:#9a3412}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:none;justify-self:start;padding:0;text-decoration:underline}.rich-text-toolbar{flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem;display:flex}.rich-text-toolbar button{padding:.3rem .7rem}.rich-text-area{min-height:8rem}.rich-text-area p{margin:0 0 .75rem}.file-list{margin:0;padding-left:1.2rem}.file-list button{padding:.15rem .5rem;font-size:.85rem}.pre-line{white-space:pre-line}.status-line{font-size:1.1rem}.workspace-header{padding:.6rem 1rem;padding-top:max(.6rem, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--line);z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;display:flex;position:sticky;top:0}.pulpit-button{text-align:center;flex-basis:100%;padding:.75rem 1rem;font-size:1.15rem;font-weight:700}.workspace-header nav{flex-wrap:wrap;gap:1rem;display:flex}.workspace-header nav a{color:var(--accent);padding:.25rem 0;font-weight:600;text-decoration:none}.workspace-header nav a.active{border-bottom:2px solid var(--accent)}.workspace-user{color:var(--muted);align-items:center;gap:.75rem;font-size:.9rem;display:flex}.workspace h1{margin:.5rem 0;font-size:1.5rem}.week-heading,.edit-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.week-heading .week-nav{margin:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:1rem 0;padding:.75rem 1rem}.panel h2{margin:.25rem 0 .5rem;font-size:1.1rem}.item-list{margin:0;padding:0;list-style:none}.item{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.6rem 0;display:flex}.item:first-child{border-top:none}.item>div:first-child{flex:1;min-width:0}.item.overdue{background:#fff7ed;margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem}.item a{font-weight:600}.actions{flex-shrink:0;gap:.35rem;display:flex}.actions button{padding:.3rem .7rem}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.badge{color:var(--ink);white-space:nowrap;background:#e8edf3;border-radius:999px;margin-left:.5rem;padding:.05rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.badge.warn,.badge.status-pending,.badge.status-expired_pending{color:#9a3412;background:#fde8d7}.badge.status-approved{color:#14532d;background:#dcf2e3}.badge.status-rejected{color:#991b1b;background:#fde2e2}.channel-toggles{gap:1rem;margin-top:.25rem;font-size:.9rem;display:flex}.channel-toggles label{align-items:center;gap:.3rem;display:flex}.filters{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.filters input{min-width:12rem;font:inherit;border:1px solid var(--line);border-radius:6px;flex:1;padding:.5rem .7rem}.status-actions,.save-bar,.add-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.status-actions{margin:.75rem 0}button.danger{color:#991b1b;border-color:#f1b5b5}.notice{color:#14532d}.chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--line);background:var(--page);border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .25rem .15rem .6rem;display:flex}.chips button{background:0 0;border:none;padding:0 .35rem}button:disabled{opacity:.55;cursor:not-allowed}select{min-width:0;max-width:100%}.field.inline select,.field.inline input{width:100%}.pulpit{color:#111;background:#fff;min-height:100dvh}.pulpit-bar{padding:.5rem .75rem;padding-top:max(.5rem, env(safe-area-inset-top));border-bottom:1px solid var(--line);background:#f3f4f6;align-items:center;gap:.4rem;display:flex;position:sticky;top:0}.pulpit-bar a,.pulpit-bar button{color:var(--ink);padding:.35rem .75rem;font-size:1.1rem;text-decoration:none}.pulpit-bar a{padding:.35rem .5rem}.pulpit-date{white-space:nowrap;font-weight:600}.pulpit-spacer{flex:1}.pulpit-offline{color:#78350f;text-align:center;background:#fef3c7;margin:0;padding:.5rem 1rem}.pulpit-text{max-width:48rem;margin:0 auto;padding:1.5rem 1.25rem 40vh;line-height:1.45}.pulpit-text p{white-space:pre-line;margin:0}.pulpit-text hr{border:none;border-top:4px solid #111;margin:1.5em 0}.pulpit:fullscreen{overflow-y:auto}@media (width<=30rem){.pulpit-date{font-size:.95rem}.pulpit-bar{flex-wrap:wrap}}.panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.grow{flex:1;min-width:0}.add-row input.grow{font:inherit;border:1px solid var(--line);border-radius:6px;padding:.5rem .7rem}.message-flags{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.message-flags .badge{margin-left:0}.panel .field+.field{margin-top:.75rem}.panel textarea{font:inherit}.rich-text-area h2,.rich-text-area h3{margin:1rem 0 .4rem;font-size:1.05rem}.history{margin-top:1rem}.history ul{padding:0;list-style:none}.history li{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.4rem 0;display:flex}.history li>details{flex:1;min-width:0}.field.narrow input{max-width:8rem}.block{display:block}.panel .check+.check{margin-top:.75rem}.panel.submit-form{margin-top:1rem}.panel.submit-form h2{margin-bottom:0}.item>div:first-child{overflow-wrap:anywhere}.public-logo{max-width:12rem;max-height:4rem;margin-bottom:.75rem;display:block}
