:root{color:#172f2a;background:#f3f8f4;font:16px/1.7 system-ui,sans-serif}
body{margin:0}main{width:min(920px,calc(100% - 32px));margin:30px auto 60px}
header{margin-bottom:28px}h1{font-size:clamp(26px,5vw,48px);margin:0}h2,h3{margin:0}h3,pre{overflow-wrap:anywhere}
p{margin:6px 0 12px}section,article,.notice{background:#fff;border:1px solid #d8e7df;border-radius:12px;padding:18px;margin:14px 0}
article{background:#f7faf8}form{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-top:12px}
label{display:grid;gap:4px;flex:1;min-width:min(100%,260px)}input,button{box-sizing:border-box;font:inherit;padding:8px 12px;border:1px solid #bfcfc5;border-radius:6px}
button{background:#075b49;color:white;cursor:pointer;border-color:#075b49}.secondary{background:white;color:#154337}
.notice,.badge,pre{background:#e5f3e9}.badge{display:inline-block;padding:2px 8px;border-radius:5px}pre{padding:10px;white-space:pre-wrap}summary{cursor:pointer}
:focus-visible{outline:3px solid #ab5800;outline-offset:3px}

.site-logo{display:block;width:min(100%,380px);height:auto;margin-bottom:10px}

.workspace{width:min(1440px,calc(100% - 40px))}
.workspace header{margin-bottom:18px}
a{color:#075b49}
button,.button{font-weight:650}
.button{display:inline-block;background:#075b49;color:white;border:1px solid #075b49;border-radius:6px;padding:7px 12px;text-decoration:none}
.danger{background:#9d3030;border-color:#9d3030}
.topbar,.workspace-title,.section-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.topbar{justify-content:space-between;margin-bottom:16px}
.topbar nav{display:flex;gap:16px}
.topbar form{margin:0}
.topbar label{min-width:0}
select{font:inherit;color:inherit;background:white;border:1px solid #bfcfc5;border-radius:6px;padding:8px;max-width:min(450px,65vw)}
.workspace-title{padding:18px 22px;background:#103d35;color:white;border-radius:12px 12px 0 0}
.workspace-title .target{margin-inline-start:auto}
.target{overflow-wrap:anywhere;min-width:0}
.workspace-title .badge{color:#154337}
.workspace-title .paused{background:#e4e7e7;color:#353d3b}
.workspace-layout{display:grid;grid-template-columns:175px minmax(0,1fr);border:1px solid #d8e7df;border-top:0;border-radius:0 0 12px 12px;overflow:hidden;background:#eaf3ee}
.side-nav{display:flex;flex-direction:column;background:#153e36;padding:12px 8px;gap:5px}
.side-nav a{display:block;padding:9px 12px;color:white;text-decoration:none;border-radius:6px}
.side-nav a:hover,.side-nav [aria-current=page]{background:#28725f}
.workspace-content{padding:16px;min-width:0}
.workspace-content section{margin:0 0 14px}
.workspace-content h3{font-size:1.1rem}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(270px,1.3fr);gap:12px}
.dashboard-grid section{margin:0;min-width:0}
.calendar-card{grid-column:3;grid-row:1/span 2}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:12px;text-align:center}
.calendar-day{padding:4px 1px;min-height:42px;border:1px solid #e4ede7;border-radius:4px;font-size:.85rem}
.calendar-day.today{border-color:#28725f;background:#eff9f2}
.calendar-day small{display:block;font-size:.66rem;line-height:1.25;overflow-wrap:anywhere}
.changed{background:#fff1c7;color:#714500}
.error{background:#f9e2e0;color:#862d25}
.initial{background:#e0eff8;color:#204e6c}
.result{font-size:1.45rem;font-weight:750}
.results{padding:0;list-style:none}
.results li,.bar-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:5px}
.counts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.counts div{background:#f3f8f4;padding:7px;border-radius:6px}
.counts dd{margin:0;font-size:1.4rem;font-weight:700}
.counts small{font-size:.8rem}
.filters{margin:0 0 12px}
.filters label{flex:0 1 auto;min-width:0}
.section-heading{justify-content:space-between;margin:12px 0}
.table-scroll{overflow-x:auto}
.table-scroll table{width:100%;border-collapse:collapse;text-align:left}
.table-scroll th,.table-scroll td{padding:9px;border-bottom:1px solid #d8e7df;vertical-align:top}
.table-scroll th{background:#eaf3ee}
.table-scroll td:first-child{white-space:nowrap}
.remove-control{margin-top:20px}
@media(max-width:1150px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-card{grid-column:1/-1;grid-row:auto}}
@media(max-width:760px){.workspace{width:calc(100% - 24px);margin-top:16px}.workspace-layout{display:block}.side-nav{flex-direction:row;flex-wrap:wrap}.workspace-title .target{margin:0}.workspace-content{padding:10px}.topbar{gap:10px}.topbar select{max-width:64vw}}
@media(max-width:460px){.dashboard-grid{grid-template-columns:1fr}.calendar-card{grid-column:auto}.calendar-day{min-height:32px}}

.landing{width:min(1240px,calc(100% - 48px));margin-top:24px}
.landing header{padding-bottom:14px;border-bottom:1px solid #d8e7df}
.landing header p{font-size:.92rem;color:#46615a;margin-bottom:0}
.landing .site-logo{width:min(100%,305px);margin-bottom:4px}
.landing-hero,.landing-detail{display:grid;align-items:center;grid-template-columns:minmax(0,.78fr) minmax(0,1.25fr);gap:clamp(20px,4vw,60px)}
.landing-hero{padding:clamp(20px,4vw,52px);background:#e5f3e9;border-radius:18px}
.landing-copy h2{font-size:clamp(2rem,4.8vw,4rem);line-height:1.18;letter-spacing:-.035em}
.landing-copy p{margin:20px 0;color:#334e46}
.landing-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.landing-capture{margin:0;min-width:0}
.landing-capture img{width:100%;height:auto;display:block;border:1px solid #c9dfd1;border-radius:12px;box-shadow:0 12px 24px #143b2720;background:#f3f8f4}
.landing-capture figcaption{font-size:.8rem;color:#46615a;margin-top:8px}
.landing-section{padding:clamp(18px,4vw,42px);margin:24px 0}
.landing-section h2{font-size:clamp(1.4rem,3vw,2.15rem);line-height:1.3;margin-bottom:14px}
.landing-features,.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.landing-features>div,.landing-steps>li{min-width:0}
.landing-features p,.landing-steps p,.landing-detail p{color:#46615a;margin-bottom:0}
.landing-detail{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.landing-steps{padding-inline-start:1.4em;margin-bottom:0}
.landing-steps li::marker{color:#075b49;font-weight:750}
.landing-login{scroll-margin-top:18px}
.landing .landing-login{padding:clamp(18px,4vw,36px)}
@media(max-width:760px){.landing{width:calc(100% - 28px)}.landing-hero,.landing-detail,.landing-features,.landing-steps{grid-template-columns:1fr}.landing-detail figure{order:1}.landing-section{margin:16px 0}.landing-hero{gap:22px}.landing-features,.landing-steps{gap:15px}}
.sitemap-results{display:block}
.sitemap-results fieldset{min-width:0;max-height:22rem;overflow:auto;margin:0 0 12px;border:1px solid #d8e7df;border-radius:8px}
.sitemap-option{display:flex;align-items:flex-start;gap:8px;padding:5px;min-width:0;overflow-wrap:anywhere}
.sitemap-option input{flex:none;margin-top:.48em}

.public-nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 16px}
.public-nav a{font-weight:650;text-underline-offset:.2em}
.public-nav [aria-current="page"]{color:#172f2a;text-decoration-thickness:2px}
.guide-header .public-nav{margin:12px 0 0}
.guide-hero{padding:clamp(22px,5vw,50px);background:#e5f3e9;border-radius:18px}
.guide-hero h1{line-height:1.25}
.guide-hero p{margin:12px 0 0}
.guide-faq details{padding:12px 0;border-top:1px solid #d8e7df}
.guide-faq summary{font-weight:650}
.guide-faq details p{margin:8px 0 0}
.guide-flow{padding-inline-start:1.6em;margin:0}
.guide-flow li{padding:13px 0;border-bottom:1px solid #d8e7df}
.guide-flow li:last-child{border-bottom:0}
.guide-flow li::marker{color:#075b49;font-weight:750}
.guide-footer{padding:8px 0}

.pricing-table{width:100%;margin:0 0 18px;border-collapse:collapse;table-layout:fixed;text-align:center}
.pricing-table th,.pricing-table td{padding:clamp(7px,1.5vw,16px);border:1px solid #d8e7df;overflow-wrap:anywhere}
.pricing-table thead th{background:#e5f3e9}
.pricing-table tbody th{background:#f3f8f4;text-align:start}
.pricing-table td strong{font-size:clamp(1.15rem,3vw,1.75rem);color:#075b49}
.pricing-table small{font-weight:400}
@media(max-width:480px){.pricing-table{font-size:.875rem}}

.public-footer{margin-top:24px;padding:18px 0 0;border-top:1px solid #d8e7df}
.public-footer .public-nav{gap:8px 22px;margin:0;font-size:.9rem}

.public-header{display:grid;grid-template-columns:minmax(180px,290px) minmax(0,1fr) auto;align-items:center;gap:14px 24px}
.public-brand{min-width:0}
.public-header .site-logo{width:100%;margin:0}
.public-header-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px}
.public-header-nav a{color:#172f2a;font-weight:650;font-size:.94rem;text-decoration:none;white-space:nowrap}
.public-header-nav a:hover,.public-header-nav [aria-current="page"]{color:#075b49;text-decoration:underline;text-underline-offset:.25em}
.public-header-login{justify-self:end;white-space:nowrap}
.public-header-login:hover{background:#103d35}
@media(max-width:990px){
  .public-header{grid-template-columns:minmax(0,290px) 1fr auto}
  .public-header-desktop{grid-area:2/1/3/-1}
  .public-header-nav{justify-content:flex-start}
  .public-header-login{grid-column:3;grid-row:1}
}

.public-header-mobile{display:none}
@media(max-width:760px){
  .public-header{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
  .public-header-desktop{display:none}
  .public-header-mobile{display:block;position:relative;grid-column:2;grid-row:1}
  .public-header-mobile summary{display:grid;place-items:center;width:44px;height:44px;box-sizing:border-box;border:1px solid #a8c8ba;border-radius:6px;background:white;list-style:none}
  .public-header-mobile summary::-webkit-details-marker{display:none}
  .public-header-mobile summary span{width:19px;height:2px;background:#075b49;box-shadow:0 -6px #075b49,0 6px #075b49}
  .public-header-mobile .public-header-nav{position:absolute;z-index:5;inset-block-start:calc(100% + 8px);inset-inline-end:0;width:max-content;max-width:calc(100vw - 110px);box-sizing:border-box;display:grid;gap:0;padding:6px;background:white;border:1px solid #d8e7df;border-radius:8px;box-shadow:0 8px 20px #143b2720}
  .public-header-mobile .public-header-nav a{display:block;white-space:normal;padding:9px 12px}
}
