:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172b2b;background:#f5f7f8;font-synthesis:none;--green:#075c47;--green-soft:#e8f5ef;--ink-muted:#61706e;--border:#dbe4e2;--panel:#fff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{opacity:.65;cursor:wait}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4vw,38px);letter-spacing:-1.5px;margin-bottom:10px}h2{font-size:16px}h3{font-size:16px;margin:10px 0}small{font-size:12px;color:var(--ink-muted)}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:11px 12px;background:#fff;color:#172b2b}input:focus,select:focus,textarea:focus{outline:2px solid #7fcdb7;border-color:var(--green)}label{display:grid;gap:7px;font-size:11px;font-weight:750;letter-spacing:.45px;color:#50605f}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:27px 17px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:10px;color:#064838;font-weight:800;font-size:16px;padding:0 7px}.brand small{display:block;margin-top:4px;font-size:10px;font-weight:500}.logo{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--green);color:#fff;font-size:12px;font-weight:800;letter-spacing:-.5px}.main-nav{display:grid;gap:5px;margin-top:45px}.main-nav a{display:flex;align-items:center;gap:11px;border-radius:8px;padding:12px;color:var(--ink-muted);font-size:13px;font-weight:650}.main-nav a.router-link-active{background:var(--green-soft);color:#07513f}.account{margin-top:auto;border-top:1px solid var(--border);padding:20px 7px 0;display:flex;align-items:center;gap:9px;font-size:12px}.account strong{display:block}.account small{display:block;margin-top:3px}.account button{margin-left:auto;color:var(--ink-muted)}.avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#dff2e9;color:#07513f;font-size:10px;font-weight:800}.shell{margin-left:244px;min-height:100vh}.topbar{height:70px;display:flex;justify-content:space-between;align-items:center;padding:0 48px;border-bottom:1px solid var(--border);background:#ffffffd1;font-size:13px;color:var(--ink-muted)}.company-name{color:#07513f;font-size:14px}.shell main{max-width:1240px;padding:48px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.page-heading p:not(.eyebrow){color:var(--ink-muted);margin-bottom:0}.eyebrow{font-size:10px;letter-spacing:1.35px;font-weight:800;color:var(--green);margin-bottom:8px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px}.toolbar{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border)}.date-controls{display:flex;align-items:center;gap:9px}.date-controls strong{min-width:180px;text-align:center;font-size:14px}.date-controls button{display:grid;place-items:center}.date-controls .today{border:1px solid var(--border);border-radius:6px;padding:6px 9px;font-size:12px}.view-switch{display:flex;background:#f0f4f3;border-radius:7px;padding:3px}.view-switch a{padding:6px 10px;border-radius:5px;font-size:12px;color:var(--ink-muted)}.view-switch a.router-link-active{background:#fff;color:#07513f;box-shadow:0 1px 2px #00000010}.filter-row{display:flex;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid var(--border)}.search{display:flex;align-items:center;gap:8px;min-width:min(410px,100%);letter-spacing:0;font-weight:400}.search input{border:0;padding:4px;outline:none}.icon-text,.back-link{display:inline-flex;align-items:center;gap:6px;color:#07513f;font-size:12px;font-weight:700}.schedule-grid{display:grid}.schedule-grid.week{grid-template-columns:repeat(7,minmax(150px,1fr));overflow-x:auto}.day-column{padding:20px;min-height:300px;border-right:1px solid var(--border)}.day-column:last-child{border:0}.day-column h2{margin-bottom:17px;text-transform:capitalize}.event-card{border-left:3px solid #45a47d;background:#f5faf7;padding:13px 14px;margin-bottom:11px;border-radius:0 8px 8px 0}.event-time{display:flex;align-items:center;gap:5px;color:#07513f;font-size:12px;font-weight:750}.event-card p,.event-card small{display:flex;align-items:center;gap:6px;line-height:1.45;margin:0 0 8px;color:#526461;font-size:12px}.empty{color:#82908e;font-size:13px;padding:22px 0;text-align:center}.error{border:1px solid #f0b7b7;background:#fff4f4;color:#9b2226;padding:11px 13px;border-radius:8px;font-size:13px}.addresses-panel{overflow:hidden}.addresses-panel>.search{margin:18px 20px}.address-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px;padding:20px;border-top:1px solid var(--border);align-items:center}.address-name{display:flex;align-items:center;gap:9px;color:#07513f}.address-row small{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800;letter-spacing:.5px}.address-row p{font-size:13px;font-weight:700;margin:7px 0 3px}.address-row span{font-size:12px;color:var(--ink-muted)}.back-link{margin-bottom:27px}.event-form{max-width:760px;padding:25px;display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.interval-options{display:flex;flex-wrap:wrap;gap:8px}.interval-options button{display:flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:7px;padding:9px 10px;font-size:12px;font-weight:650}.interval-options button.selected{border-color:var(--green);background:var(--green-soft);color:#07513f}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:11px 15px;font-size:13px;font-weight:750}.primary{background:var(--green);color:#fff}.secondary{border:1px solid var(--border);background:#fff}.login-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(135deg,#edf7f3,#f7f8fa)}.login-card{width:min(100%,420px);display:grid;gap:19px;padding:35px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 14px 45px #18352b12}.login-card h1{font-size:28px;margin-bottom:8px}.login-card p{color:var(--ink-muted);font-size:13px;line-height:1.55;margin-bottom:0}.login-card>.logo{margin-bottom:5px}.app-loading{min-height:100vh;display:grid;place-items:center;color:var(--ink-muted)}.mobile-nav{display:none}.auth-toggle{color:#07513f;font-size:12px;font-weight:700;padding:4px}@media(max-width:760px){.sidebar{display:none}.shell{margin-left:0;padding-bottom:66px}.topbar{height:58px;padding:0 18px}.shell main{padding:28px 16px}.company-name{max-width:47%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav{position:fixed;inset:auto 0 0;z-index:5;height:64px;padding:7px 11px;display:flex;justify-content:space-around;background:#fff;border-top:1px solid var(--border)}.mobile-nav a{display:grid;place-items:center;gap:3px;font-size:10px;color:var(--ink-muted)}.mobile-nav a.router-link-active{color:#07513f}.toolbar{align-items:flex-start;flex-direction:column}.date-controls{width:100%;justify-content:space-between}.date-controls strong{min-width:0;font-size:12px}.filter-row{padding:13px 16px}.icon-text{display:none}.schedule-grid.week{grid-template-columns:1fr}.schedule-grid.week .day-column{border-right:0;border-bottom:1px solid var(--border);min-height:0}.address-row{grid-template-columns:1fr;gap:13px}.form-grid{grid-template-columns:1fr}.event-form{padding:20px}.page-heading{margin-bottom:22px}}.address-row{width:100%;border:0;background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer}.address-row:hover,.address-row:focus-visible{background:#f1faf6;outline:none}.address-row:focus-visible{box-shadow:inset 0 0 0 2px #075c47}.address-dialog{width:min(760px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 32px));padding:0;border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 70px #172b2b40;color:#172b2b}.address-dialog::backdrop{background:#172b2b80}.address-dialog header{display:flex;justify-content:space-between;gap:22px;padding:25px 28px 20px;border-bottom:1px solid var(--border)}.address-dialog h2{margin:0;font-size:23px;line-height:1.35}.dialog-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:50%;color:#526461}.history-content{padding:22px 28px 28px;overflow:auto;max-height:calc(min(760px,100vh - 32px) - 112px)}.history-content>h3{font-size:15px;margin-bottom:16px}.history-event{display:grid;grid-template-columns:155px 1fr;gap:18px;padding:17px 0;border-top:1px solid var(--border)}.history-time{display:grid;gap:4px;color:#07513f;font-size:14px}.history-time span{color:var(--ink-muted);font-size:13px}.history-event h3{font-size:17px;margin:0 0 7px}.history-event p{font-size:14px;line-height:1.6;margin:0 0 8px;color:#405351}.history-event small{font-size:12px}@media(min-width:761px){.main-nav a,.topbar{font-size:15px}.company-name{font-size:16px}.page-heading p:not(.eyebrow){font-size:16px}.toolbar,.filter-row{padding:20px 24px}.date-controls strong{font-size:16px}.view-switch a,.date-controls .today,.icon-text{font-size:14px}.event-card h3{font-size:18px}.event-card p,.event-card small{font-size:14px}.address-row p{font-size:15px}.address-row span{font-size:14px}.address-row small{font-size:11px}.address-name{font-size:16px}.event-form{font-size:15px}}@media(max-width:760px){.address-dialog header{padding:20px}.address-dialog h2{font-size:19px}.history-content{padding:18px 20px 24px}.history-event{grid-template-columns:1fr;gap:8px}.history-event h3{font-size:16px}}input,select,textarea{font-size:16px;padding:13px 14px}button{font-size:inherit}@media(min-width:761px){body,.main-nav a,.topbar{font-size:16px}.company-name{font-size:17px}.page-heading p:not(.eyebrow){font-size:17px}.eyebrow{font-size:11px}.toolbar,.filter-row,.search input{font-size:16px}.event-card p,.event-card small{font-size:15px}.event-card h3{font-size:19px}.address-row p{font-size:16px}.address-row span{font-size:15px}.address-row small{font-size:12px}.address-name{font-size:17px}.event-form label{font-size:12px}.event-form .button,.form-actions .button,.login-card p{font-size:15px}.login-card label{font-size:12px}}.address-row{padding:0}.address-open{width:100%;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px;padding:20px;border:0;background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer}.address-open:hover,.address-open:focus-visible{background:#f1faf6;outline:none}.address-open:focus-visible{box-shadow:inset 0 0 0 2px #075c47}.map-link{display:inline-flex;align-items:center;gap:5px;color:#07513f;font-size:13px;font-weight:700}.address-row>.map-link{padding:0 20px 16px}.address-dialog .map-link{margin-top:9px}.map-panel{overflow:hidden;min-height:530px}.google-map{height:530px;width:100%}.google-map.hidden{display:none}.map-message{display:flex;align-items:flex-start;gap:14px;padding:24px;max-width:760px}.map-message h2{margin:0 0 8px}.map-message p{margin:0;color:var(--ink-muted);line-height:1.6}.map-message code{font-size:13px;color:#07513f}.map-addresses{margin-top:22px;padding:22px;display:grid;gap:8px}.map-addresses h2{margin:0 0 8px}.map-addresses h2 span{font-size:13px;color:var(--ink-muted);font-weight:500}.map-addresses a{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;font-size:14px;color:#07513f}.map-addresses a svg:last-child{margin-left:2px}@media(max-width:760px){.address-open{grid-template-columns:1fr;gap:13px}.google-map{height:430px}.map-panel{min-height:430px}}.event-card{width:100%;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.event-card:hover,.event-card:focus-visible{background:#eaf7f0;outline:none}.event-card:focus-visible{box-shadow:inset 0 0 0 2px #075c47}.schedule-grid.month{grid-template-columns:repeat(7,minmax(150px,1fr));overflow-x:auto}.schedule-grid.month .day-column{min-height:180px;padding:14px}.schedule-grid.month .day-column h2{display:flex;align-items:baseline;gap:6px;margin-bottom:10px;font-size:17px}.weekday{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-muted)}.outside-month{background:#fafcfb}.outside-month h2{color:#94a3b8}.schedule-grid.month .event-card{padding:9px 10px;margin-bottom:7px}.schedule-grid.month .event-card h3{font-size:13px;margin:6px 0 0;line-height:1.35}.schedule-grid.month .event-time{font-size:11px}.event-dialog{width:min(680px,calc(100vw - 32px));padding:0;border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 70px #172b2b40;color:#172b2b}.event-dialog::backdrop{background:#172b2b80}.event-dialog header{display:flex;justify-content:space-between;gap:22px;padding:25px 28px 20px;border-bottom:1px solid var(--border)}.event-dialog h2{margin:0;font-size:23px;line-height:1.35}.event-detail-content{display:grid;gap:18px;padding:24px 28px 28px}.event-detail-time,.event-detail-address{display:flex;align-items:flex-start;gap:11px}.event-detail-time{color:#07513f}.event-detail-time div{display:grid;gap:4px}.event-detail-time span{color:var(--ink-muted);font-size:14px}.event-detail-address{color:#07513f;font-size:15px;font-weight:700}.event-detail-address svg:last-child{margin-left:auto}.event-detail-description{margin:0;padding:16px;background:#f4faf7;border-radius:8px;font-size:15px;line-height:1.65}.event-detail-meta{margin:0;color:var(--ink-muted);font-size:13px}@media(max-width:760px){.schedule-grid.month{grid-template-columns:repeat(7,minmax(120px,1fr))}.schedule-grid.month .day-column{min-height:150px}.event-dialog header{padding:20px}.event-dialog h2{font-size:19px}.event-detail-content{padding:20px}.schedule-grid.month .event-card h3{font-size:12px}}.schedule-grid.week{grid-template-columns:repeat(7,minmax(190px,1fr));overflow-x:auto}.schedule-grid.week .day-column,.schedule-grid.week .event-card{min-width:0}.schedule-grid.week .event-card{overflow:hidden}.schedule-grid.week .event-card h3,.schedule-grid.week .event-card p,.schedule-grid.week .event-card small{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.schedule-grid.week .event-card p{align-items:flex-start}.schedule-grid.week .event-card p svg,.schedule-grid.week .event-card small svg{margin-top:2px}@media(max-width:760px){.schedule-grid.week{grid-template-columns:1fr;overflow:visible}}
