:root{--flame-orange:#FF5100;--pumpkin-spice:#FF6900;--pumpkin-light:#FF7D32;--pitch-black:#131606;--forest:#2E3C34;--warm-grey:#525349;--stone:#D6D2C1;--soft-linen:#E6DFD5;--parchment:#F1F1EC;--white:#FFFFFF}
:root{font:16px system-ui,-apple-system,Segoe UI,sans-serif;color:var(--pitch-black);background:var(--parchment)}*{box-sizing:border-box}body{margin:0}header{background:var(--pitch-black);color:white;display:flex;align-items:center;justify-content:space-between;padding:18px max(20px,calc((100vw - 1050px)/2));gap:20px}header b{font-size:26px;color:var(--flame-orange)}header span{margin-left:15px}#identity{font-size:13px}nav{background:white;display:flex;justify-content:center;gap:10px;padding:12px;border-bottom:1px solid var(--stone)}main{max-width:1050px;margin:25px auto;padding:0 15px}footer{text-align:center;color:var(--warm-grey);font-size:12px;margin:35px}button,input,select{font:inherit}button{border:1px solid var(--stone);border-radius:8px;padding:9px 14px;cursor:pointer;background:#fff;color:var(--pitch-black)}button:hover{background:var(--soft-linen)}button:disabled{opacity:.55;cursor:wait}.selected,.primary{background:var(--forest);color:white;border-color:var(--forest)}.primary:hover{background:var(--pitch-black)}h1{font-size:28px;letter-spacing:-.04em;margin:0 0 10px}h2{font-size:21px;margin-top:0}p{line-height:1.5}.card{background:white;padding:26px;border:1px solid var(--stone);border-radius:14px;margin-bottom:20px}.narrow{max-width:540px;margin:25px auto}.muted{color:var(--warm-grey);font-size:14px}.field{display:block;margin:15px 0;font-size:14px;font-weight:650}.field input,.field select{margin-top:7px;width:100%;height:46px;border:1px solid var(--warm-grey);border-radius:8px;padding:9px;background:white;color:var(--pitch-black)}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;align-items:center;gap:12px;margin:22px 0;padding:13px;background:var(--parchment);border-radius:9px}.check input{width:22px;height:22px;accent-color:var(--forest)}.full{width:100%;min-height:47px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid var(--stone)}th{font-size:12px;color:var(--warm-grey);background:var(--parchment)}td small{display:block;color:var(--warm-grey)}td button{font-size:12px;padding:7px;margin:3px}td select{max-width:105px}.scroll{overflow-x:auto}table{min-width:650px}.month{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.month input{padding:8px;border:1px solid var(--warm-grey);border-radius:7px}.badge{font-size:12px;padding:4px 8px;background:var(--soft-linen);border-radius:5px}.notice,#message:not(:empty){padding:16px;background:var(--soft-linen);border:1px solid var(--stone);border-radius:9px;margin-bottom:20px;overflow-wrap:anywhere}#message:empty{display:none}.summary{display:flex;gap:25px;flex-wrap:wrap;padding:15px 0}.summary strong{display:block;font-size:24px}.summary span{font-size:12px;color:var(--warm-grey)}.linkbox{width:100%;padding:10px}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline input{padding:10px;flex:1;min-width:160px}.danger{color:#9b3030}a{color:var(--forest)}input:focus,select:focus,button:focus-visible{outline:3px solid var(--flame-orange);outline-offset:2px}@media(max-width:600px){header{padding:15px}.card{padding:20px 15px}nav{gap:5px}nav button{padding:9px;font-size:13px}.split{gap:10px}.summary{gap:16px}header span{font-size:13px;margin-left:10px}#identity button{font-size:11px}}

/* Brand colour roles: dark text on orange preserves readable button contrast. */
header{background:var(--white);color:var(--pitch-black);border-bottom:4px solid var(--flame-orange)}.brand{display:flex;align-items:center;gap:18px}.brand-logo{display:block;width:210px;height:auto;max-height:116px;object-fit:contain}.brand span{font-weight:650;color:var(--forest)}.selected,.primary{background:var(--flame-orange);color:var(--pitch-black);border-color:var(--flame-orange)}.primary:hover,.selected:hover{background:var(--pumpkin-spice);color:var(--pitch-black)}a{color:var(--forest)}.badge{color:var(--pitch-black)}@media(max-width:600px){.brand-logo{width:135px;max-height:82px}.brand{gap:6px}.brand span{margin-left:0;font-size:12px}header{gap:8px}}
