:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182738;background:#f5f3ef;font-synthesis:none;--ink:#101c2a;--muted:#697480;--accent:#e9ad68;--line:#e5e1da}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:12px;background:var(--ink);color:white;padding:14px 20px;font-weight:650;cursor:pointer;text-decoration:none;min-height:46px}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b87730;outline-offset:3px}a{color:#895014;text-underline-offset:4px}h1{font-size:clamp(30px,4vw,45px);line-height:1.13;letter-spacing:-1.3px;margin:14px 0 18px}h2{font-size:21px;letter-spacing:-.4px;margin:0 0 18px}h3{font-size:19px;margin:10px 0}p{line-height:1.65}small{line-height:1.5}label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}input,select{width:100%;background:#fff;border:1px solid #d4d7d8;border-radius:10px;padding:13px;color:var(--ink);min-height:46px}input[type=file]{font-size:13px}fieldset{border:1px solid var(--line);border-radius:12px;padding:12px}.check{flex-direction:row;align-items:center;margin:8px 0}.check input{width:20px;height:20px;min-height:20px}header{height:88px;display:flex;align-items:center;gap:30px;padding:0 5vw;border-bottom:1px solid var(--line);background:#fff}.brand{color:var(--ink);font-size:29px;font-weight:850;letter-spacing:-1.6px;text-decoration:none}.brand span{color:var(--accent);font-size:16px;margin-left:5px}.tour-select{max-width:300px;margin-left:auto}.tour-select select{background:#f5f3ef;border:0}.avatar{border-radius:50%;width:44px;height:44px;min-height:44px;padding:0;background:#e9ad68;color:var(--ink)}.layout{display:grid;grid-template-columns:200px minmax(0,1fr);max-width:1380px;margin:auto}nav{padding:40px 16px;display:flex;flex-direction:column;gap:10px}nav button{background:transparent;color:var(--muted);justify-content:flex-start;padding:14px 18px;font-size:14px}nav button span{font-size:23px;width:25px;text-align:center}nav button.active{color:var(--ink);background:#e9e4dc}.content{padding:45px 35px 30px;min-width:0;max-width:1100px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2.2px;color:#8c602f;text-transform:uppercase}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;margin:20px 0;box-shadow:0 2px 0 #ded9cf20}.stack{display:flex;flex-direction:column;gap:18px}.stack h2{margin:8px 0 0}.stack button{align-self:flex-start}.muted{color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px}.badge{display:inline-block;background:#f1eee8;color:#5a625f;border-radius:6px;padding:5px 9px;font-size:12px;line-height:1.4}.badge.red{background:#fce7e5;color:#a23e38}.badge.amber{background:#fff0d9;color:#855210}.day-hero{background:var(--ink);color:#fff;border-radius:22px;padding:34px 32px;margin:0 0 28px;position:relative;overflow:hidden}.day-hero .eyebrow{color:#e9ad68}.day-hero h1{font-size:clamp(36px,5vw,58px);margin:18px 0 10px}.day-hero p{color:#bec7d0;margin:0 0 24px}.day-hero .badge{background:#263646;color:#e2d3be}.event{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;padding:22px 0;border-top:1px solid var(--line)}.event:first-of-type{border-top:0}.event-time{font-size:20px;font-weight:700;letter-spacing:-.5px}.cancelled h3{text-decoration:line-through;color:#98726e}.place{display:flex;flex-direction:column;gap:7px;margin:14px 0;line-height:1.4}.place span,.place a{font-size:14px}.note,.preserve{white-space:pre-line;overflow-wrap:anywhere}.note{font-size:14px;color:var(--muted);border-left:2px solid #dfbc8d;padding-left:14px}.day-list{padding:0;overflow:hidden}.day-row{display:flex;text-align:left;background:white;color:var(--ink);width:100%;border-radius:0;border-bottom:1px solid var(--line);padding:20px;gap:18px}.day-row:last-child{border-bottom:0}.day-row:hover{background:#faf8f4}.date-square{width:54px;flex-shrink:0;background:#f1eee8;border-radius:12px;display:flex;flex-direction:column;align-items:center;padding:8px}.date-square b{font-size:25px}.date-square span{font-size:11px;color:var(--muted)}.grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.grow strong{font-size:17px}.grow span{font-size:13px;font-weight:450;line-height:1.45;color:var(--muted)}.grow small{font-size:11px;color:var(--muted);font-weight:450}.row-end{display:flex;flex-direction:column;gap:15px;color:var(--muted);font-size:12px;align-items:flex-end}.row-end span{font-size:22px}.search{max-width:540px;margin-bottom:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:32px 0}.stats>div{padding:26px 18px;background:#fff;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;gap:10px}.stats strong{font-size:32px;letter-spacing:-1.2px}.stats span{font-size:12px;color:var(--muted)}.bar-row{display:grid;grid-template-columns:65px 1fr 65px;gap:10px;align-items:center;margin:20px 0;font-size:12px}.bar-row b{text-align:right}meter{width:100%;height:18px}meter::-webkit-meter-bar{background:#f0ede7;border:0}meter::-webkit-meter-optimum-value{background:#b78245}meter::-moz-meter-bar{background:#b78245}.chart-grid,.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chart-grid .card,.place-grid .card{margin:12px 0}.empty{text-align:center;padding:36px}.upcoming{font-size:13px;color:#8c602f}.text-button{display:inline;background:transparent;color:#895014;padding:8px 0;min-height:36px;font-size:14px}.secondary{background:#ece8e1;color:var(--ink)}footer{margin-top:40px;font-size:11px;color:var(--muted);line-height:1.7}footer button{font-size:11px!important}.setup{max-width:660px;margin:60px auto;padding:24px}.error{background:#ffebe8;color:#933831;padding:18px;border-radius:10px}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:var(--ink);color:#fff;padding:6vw;display:flex;flex-direction:column;justify-content:space-between;gap:45px}.login-story .brand{color:#fff}.login-story h1{font-size:clamp(48px,6vw,82px);letter-spacing:-3px}.login-story .eyebrow{color:var(--accent)}.login-story p,.login-story small{color:#b9c1cc}.login-form{padding:60px;max-width:580px;width:100%;align-self:center;justify-self:center}.login-form h2{font-size:30px;margin-top:18px}.login-form .stack{margin:30px 0 18px}.login-form .stack button{width:100%}.login-form>small{display:block;margin-top:24px}.user-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;overflow-wrap:anywhere}.user-heading strong{font-size:18px}.user-heading div div{font-size:13px;color:var(--muted);margin-top:8px}.access{margin:24px 0}details{margin-top:22px;font-size:14px}summary{cursor:pointer;color:#895014}details form{margin-top:18px}#notice{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);max-width:90vw;width:max-content;background:#101c2a;color:white;padding:16px 22px;border-radius:12px;box-shadow:0 8px 35px #0003;z-index:10;display:none;font-size:14px}#notice.show{display:block}.loading{padding:80px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){header{height:76px;padding:0 20px;gap:16px}.brand{font-size:25px}.tour-select{max-width:220px}.tour-select select{font-size:13px;padding:10px}.avatar{flex-shrink:0}.layout{display:block}.content{padding:26px 18px 120px}nav{position:fixed;bottom:0;left:0;right:0;z-index:5;flex-direction:row;justify-content:space-around;background:#fff;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}nav button{flex-direction:column;gap:2px;padding:7px 4px;border-radius:10px;font-size:10px;flex:1}nav button span{font-size:23px}.day-hero{padding:28px 23px;border-radius:18px}.card{padding:22px 18px;border-radius:16px}.event{grid-template-columns:1fr;gap:10px}.event-time{font-size:18px}.day-list{padding:0}.day-row{padding:17px 14px;gap:12px}.stats{grid-template-columns:1fr 1fr}.stats strong{font-size:30px}.chart-grid,.place-grid{grid-template-columns:1fr;gap:0}.login{grid-template-columns:1fr}.login-story{padding:32px 26px;gap:28px}.login-story h1{font-size:46px;letter-spacing:-2px}.login-story p{margin-bottom:0}.login-story>small{display:none}.login-form{padding:34px 26px 55px}.setup{margin:18px auto}.user-heading{align-items:flex-start;flex-direction:column}}
