.login-gate{max-width:520px;margin:10vh auto;padding:28px;color:#26333c;background:#fff;border:1px solid #e3e7e8;border-radius:12px}.login-gate h1{font-size:24px}.login-gate h2{font-size:20px}.login-gate p{line-height:1.7;color:#64717a}.login-gate details{margin-top:28px;border-top:1px solid #e3e7e8;padding-top:18px}.login-gate button,.public-share button,.public-share select{border:1px solid #dbe2e4;background:#fff;border-radius:6px;padding:8px 12px;color:#26333c;cursor:pointer}.login-message{color:#a34021!important}.public-share{max-width:1400px;margin:auto;padding:24px;color:#26333c}.public-share header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e3e7e8;padding-bottom:16px}.public-share h1{font-size:24px;margin:4px 0}.public-share header p,.public-share small{color:#708089}.public-brand{font-size:13px;font-weight:700}.public-share nav{display:flex;justify-content:space-between;gap:12px;padding:16px 0;align-items:center}.public-share button[aria-pressed=true]{background:#e5f4ed;color:#127650;border-color:#a3d2bf}.public-modes{display:flex;gap:6px}.public-day{margin-bottom:24px}.public-day h2{font-size:18px;margin:12px 0}.public-day h2 small{font-size:13px;margin-left:8px}.public-memo{white-space:pre-wrap;background:#f7f7f5;border:1px solid #e5e6e3;padding:10px 12px;border-radius:6px;margin-bottom:12px;font-size:14px}.public-timeline{border:1px solid #e2e6e8;border-radius:8px;overflow:auto}.public-hours,.public-row{display:grid;grid-template-columns:220px minmax(520px,1fr);min-width:760px}.public-hours{font-size:11px;color:#708089;background:#fafbfb;height:32px;align-items:center}.public-hours>span{padding-left:12px}.public-hours>div{position:relative;height:16px;margin-right:25px}.public-hours>div span{position:absolute}.public-row{border-top:1px solid #e7ebec;min-height:80px}.public-name{display:flex;flex-direction:column;gap:4px;padding:12px;border-right:1px solid #e2e6e8;background:white;position:sticky;left:0;z-index:2}.public-name span{font-size:13px;color:#61727d}.public-name small{font-size:11px}.public-track{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 60 - 1px),#edf0f2 calc(100% / 60 - 1px),#edf0f2 calc(100% / 60));min-height:80px}.public-bar{position:absolute;top:23px;height:32px;border-radius:4px;background:#dcedf5;border-left:4px solid #5ba9d6;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#315e73;font-size:12px;font-weight:600}.public-position{position:absolute;top:55px;height:3px}.public-break{position:absolute;top:23px;height:32px;background:repeating-linear-gradient(135deg,#dde2e7 0,#dde2e7 3px,#f4f6f8 3px,#f4f6f8 7px);opacity:.9}.public-empty{padding:12px;color:#708089}.public-share footer{font-size:12px;color:#708089;padding:16px 0}.public-error{max-width:600px;padding-top:15vh}@media(max-width:600px){.public-share{padding:12px}.public-share header{align-items:flex-start}.public-share header button{font-size:11px;padding:6px;max-width:100px}.public-share h1{font-size:20px}.public-share header p{font-size:12px}.public-hours,.public-row{grid-template-columns:140px minmax(520px,1fr);min-width:660px}.public-name{padding:10px;font-size:14px}.login-gate{margin:24px 12px;padding:20px}}

.public-link-overlay{position:fixed;inset:0;background:#26333c66;z-index:1500;display:grid;place-items:center;padding:16px}.public-link-dialog{background:white;border-radius:12px;padding:24px;max-width:620px;width:100%;box-shadow:0 8px 40px #26333c22}.public-link-dialog h2{font-size:20px}.public-link-dialog p{font-size:14px;line-height:1.6}.public-link-dialog input{width:100%;padding:12px;border:1px solid #ccd8d3;border-radius:6px;margin:8px 0 16px}.public-link-dialog>div{display:flex;gap:8px;flex-wrap:wrap}.public-link-dialog button{padding:10px;border:1px solid #dbe2e4;border-radius:6px;background:white}

.public-pending{margin:12px;padding:12px 16px;border:1px solid #d8a353;background:#fff8e9;color:#69491d;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.public-pending span{font-size:13px;flex:1}.public-pending button{padding:8px;border:1px solid #d8a353;border-radius:6px;background:white}
