:root{--green:#07542a;--deep:#153b28;--red:#ee1c25;--cream:#fff9ea;--paper:#fffdf7;--ink:#1c3426;--muted:#617466;--line:#d9e0d4;--gold:#d9aa47}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Trebuchet MS",Arial,sans-serif;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}.masthead{background:var(--green);color:white;border-bottom:6px solid var(--red)}.masthead-inner{max-width:1180px;margin:auto;padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:13px}.brand-name{font-family:Georgia,serif;font-weight:700;font-size:23px;line-height:1.05;display:block}.brand-sub{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#e6ebdf;display:block;margin-top:3px}.proof-badge{font-size:10px;letter-spacing:.11em;font-weight:800;padding:8px 11px;border:1px solid #b0c5ae;border-radius:20px;text-align:center}main{max-width:1180px;margin:auto;padding:0 24px 60px}.intro{position:relative;padding:50px 0 35px;overflow:hidden}.eyebrow{font-size:12px;font-weight:900;color:var(--red);letter-spacing:.2em}.intro h1{font-family:Georgia,serif;font-size:clamp(40px,5vw,64px);line-height:1.07;letter-spacing:-.035em;margin:12px 0}.intro h1 em{color:var(--green);font-weight:normal}.intro p{max-width:630px;color:#495c4e;font-size:17px;margin:0}.demo-notice{background:#fff1d8;border-left:5px solid var(--gold);padding:12px 17px;margin:0 0 34px;font-size:13px;border-radius:0 8px 8px 0}.layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:55px;align-items:start}.overview{padding-top:6px}.section-heading{display:flex;gap:11px;align-items:center;margin-bottom:9px}.section-heading span{font-family:Georgia,serif;color:var(--red);font-weight:700;font-size:15px}.section-heading h2{font-family:Georgia,serif;font-size:27px;line-height:1.15;letter-spacing:-.025em;margin:0}.section-heading.smaller h2{font-size:24px}.small-muted{font-size:13px;color:var(--muted);line-height:1.55;margin:6px 0 15px}.stats{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--green);border-bottom:2px solid var(--green);margin:18px 0 12px}.stat{padding:16px 10px 14px 0;border-bottom:1px solid var(--line)}.stat:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}.stat.wide{grid-column:1 / -1;border-bottom:0;padding:15px 0}.stat b{font-family:Georgia,serif;font-size:36px;display:block;line-height:1;color:var(--green)}.stat span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.export-link{display:flex;justify-content:space-between;align-items:center;background:var(--green);color:#fff;text-decoration:none;border-radius:4px;padding:14px 16px;font-size:14px;font-weight:800;margin-top:17px}.export-link:hover,.save-button:hover{background:#0b6b39}.divider{height:1px;background:var(--line);margin:33px 0}.report-list{display:grid;gap:9px}.report-card{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:6px;text-align:left;padding:12px 13px;color:var(--ink)}.report-card:hover,.report-card.active{border-color:var(--green);box-shadow:0 0 0 2px #b2cdb8}.report-card strong{display:block;font-family:Georgia,serif;font-size:16px}.report-card small{display:block;color:var(--muted);margin-top:3px}.report-card .status{display:inline-block;margin-top:7px;color:var(--red);font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.report-area{min-width:0}.start-actions{display:flex;gap:10px;align-items:end;margin:19px 0 18px}.grow{flex:1}.outline-button{border:2px solid var(--green);background:transparent;color:var(--green);border-radius:4px;padding:12px 13px;font-size:13px;font-weight:800;min-height:47px;white-space:nowrap}.outline-button:hover{background:#e6eee4}.message{padding:12px 15px;margin:10px 0 15px;border-radius:5px;font-size:14px;background:#e3f3df;color:#184329;border:1px solid #b7d0ad}.message.error{background:#fff0ec;color:#812323;border-color:#eab0a8}.message button{margin-left:12px;background:none;border:0;color:inherit;text-decoration:underline;font-weight:800}.form-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;margin:7px 0 15px}.form-meta span:first-child{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.08em}details{border-top:1px solid var(--line);padding:0 0 4px}details:last-of-type{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:18px 0;font-family:Georgia,serif;font-size:21px;font-weight:700}summary::-webkit-details-marker{display:none}summary:after{content:"+";margin-left:auto;color:var(--red);font:700 23px Arial,sans-serif}details[open] summary:after{content:"−"}.step{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--red);color:white;font:800 14px Arial,sans-serif}.summary-hint{font:12px "Trebuchet MS",Arial,sans-serif;color:var(--muted);font-weight:400;margin-left:5px}details>p,details>.field-grid,details>fieldset,details>#teamRows,details>#elfRows,details>.text-button,details>.field{margin-left:43px}details>.field-grid,details>#teamRows,details>#elfRows{margin-bottom:21px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:800;color:var(--deep)}.field small{font-weight:400;color:var(--muted)}.field.full{grid-column:1 / -1}.field input,.field select,.field textarea{width:100%;min-width:0;background:#fffefa;color:var(--ink);border:1px solid #b9c7b7;border-radius:4px;padding:11px 11px;min-height:43px;font-weight:400;outline:none}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #c9e0c8}.field input::placeholder,.field textarea::placeholder{color:#8a978d}.visit-types{border:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 19px;margin-top:5px;margin-bottom:15px}.visit-types legend{font-size:13px;font-weight:800;color:var(--deep);padding:0 0 7px}.visit-types label{font-size:13px;white-space:nowrap}.visit-types input{accent-color:var(--red)}#specialEventField{margin-bottom:20px}.team-row,.elf-row{background:#fffdf5;border-left:3px solid var(--green);padding:12px 14px;margin:0 0 10px}.row-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;color:var(--green);margin-bottom:10px}.remove-row{background:none;border:0;color:#9c3132;text-decoration:underline;font-size:12px}.team-fields,.elf-fields{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:10px}.elf-fields{grid-template-columns:1.5fr 1fr 1fr .8fr .8fr}.text-button{border:0;background:none;color:var(--green);font-weight:900;padding:0 0 20px;text-decoration:underline}.top-gap{margin-top:12px}.calculation{background:#e9f1e5;padding:8px 13px;border-radius:4px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:0 5px}.calculation span{font-size:13px;font-weight:800}.calculation strong{font-family:Georgia,serif;color:var(--green);font-size:30px;line-height:1}.calculation small{grid-column:1 / -1;font-size:11px;color:var(--muted)}.rating-guide,.internal-warning{font-size:12px;color:var(--muted);margin-bottom:20px}.internal-warning{background:#fff0e7;color:#69391d;padding:9px 12px;border-left:3px solid var(--red)}.save-bar{background:var(--cream);position:sticky;bottom:0;display:flex;align-items:end;justify-content:space-between;gap:13px;padding:15px 0 10px;border-top:2px solid var(--red);margin-top:23px;z-index:2}.editor-field{max-width:190px}.save-button{background:var(--green);border:0;color:white;border-radius:4px;padding:13px 18px;font-size:14px;font-weight:900;min-height:46px}.save-button span{margin-left:10px}footer{background:var(--deep);color:#d8e4d4;padding:19px max(24px,calc((100vw - 1132px)/2));font-family:Georgia,serif;font-size:15px;display:flex;justify-content:space-between}footer span{font:700 10px Arial,sans-serif;letter-spacing:.12em}@media(max-width:850px){.layout{grid-template-columns:1fr;gap:45px}.overview{order:2}.report-area{order:1}.stats{grid-template-columns:repeat(5,1fr)}.stat,.stat:nth-child(even),.stat.wide{grid-column:auto;border-left:0;border-bottom:0;padding:14px 9px 10px 0}.stat b{font-size:27px}.stat span{font-size:10px}}@media(max-width:620px){.masthead-inner{padding:12px 15px}.brand-name{font-size:19px}.proof-badge{font-size:8px;max-width:110px;line-height:1.3}.brand-sub{font-size:9px}main{padding:0 16px 50px}.intro{padding:34px 0 26px}.intro p{font-size:15px}.start-actions{flex-direction:column;align-items:stretch}.start-actions>*{width:100%}.field-grid,.team-fields,.elf-fields{grid-template-columns:1fr 1fr}.team-fields .field:first-child,.elf-fields .field:first-child,.elf-fields .field:last-child{grid-column:1 / -1}details>p,details>.field-grid,details>fieldset,details>#teamRows,details>#elfRows,details>.text-button,details>.field{margin-left:0}.summary-hint{display:none}summary{font-size:19px}.save-bar{align-items:stretch;flex-direction:column}.editor-field{max-width:none}.save-button{width:100%}.stats{grid-template-columns:1fr 1fr}.stat,.stat:nth-child(even),.stat.wide{grid-column:auto;border-bottom:1px solid var(--line)}.stat.wide{grid-column:1 / -1}footer{padding:19px 16px;gap:10px}footer span{text-align:right}}
[hidden]{display:none!important}
.auth-main{max-width:650px;margin:7vh auto;padding:30px}.auth-main h1{font-size:clamp(2.4rem,7vw,4rem)}.auth-panel{background:#fffdf4;border:1px solid #e4d9be;border-radius:22px;padding:clamp(20px,5vw,36px);box-shadow:0 18px 45px #173c2420}.auth-panel form{display:grid;gap:18px}.auth-panel .save-button{width:100%;margin-top:8px}.auth-panel .text-button{margin:10px 0}.auth-panel p{line-height:1.6}
.auth-line{display:flex;align-items:center;justify-content:flex-end;gap:18px;max-width:1280px;margin:0 auto;padding:10px 28px;color:#07542a;font-size:.9rem}
.discard-dialog{border:0;border-radius:10px;padding:25px;max-width:min(420px,calc(100vw - 28px));background:var(--paper);color:var(--ink);box-shadow:0 20px 55px #12362450}
.discard-dialog::backdrop{background:#11291db5}
.discard-dialog h2{font-family:Georgia,serif;font-size:26px;margin:0 0 8px}
.discard-dialog p{font-size:14px;color:var(--muted);margin:0 0 22px}
.discard-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.discard-actions button{min-height:43px;padding:10px 14px;border-radius:4px;font-weight:800}
.discard-actions .stay{background:var(--paper);border:2px solid var(--green);color:var(--green)}
.discard-actions .discard{background:var(--red);border:2px solid var(--red);color:white}
.partner-link{display:block;margin-top:10px;color:var(--green);font-size:13px;font-weight:800}
@media(max-width:480px){.field-grid,.team-fields,.elf-fields{grid-template-columns:1fr}.field-grid .field,.team-fields .field,.elf-fields .field{grid-column:1 / -1}.field input,.field select,.field textarea{min-height:48px}.visit-types{gap:12px 18px}}
.report-filters .field-grid{gap:10px;margin:14px 0}.report-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:13px}.report-actions .text-button{padding:10px 0}.report-totals{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:10px 0}.report-total{background:var(--paper);padding:10px}.report-total b{display:block;font:700 25px Georgia,serif;color:var(--green);line-height:1.15}.report-total span{display:block;font-size:11px;color:var(--muted)}.breakdown-title{font:700 17px Georgia,serif;margin:20px 0 10px}.report-breakdown{display:grid;gap:7px;margin-bottom:14px}.breakdown-row{border-left:3px solid var(--green);background:var(--paper);padding:9px 10px;display:flex;justify-content:space-between;gap:9px}.breakdown-row strong{font-size:13px}.breakdown-row small{display:block;font-size:11px;color:var(--muted)}.breakdown-count{text-align:right;white-space:nowrap;color:var(--green);font-weight:900;font-size:13px}.breakdown-count small{font-weight:400}.report-filters .field input,.report-filters .field select{min-height:43px}@media(max-width:480px){.report-filters .field-grid{grid-template-columns:1fr}.report-totals{grid-template-columns:1fr 1fr}}

.brand-logo{width:78px;height:78px;object-fit:contain;display:block;flex:none;background:white;border-radius:8px;box-shadow:0 2px 10px #001e142e}
@media(max-width:620px){.brand-logo{width:60px;height:60px}}
