:root{--emerald:#0F3D33;--emerald-deep:#082A23;--emerald-soft:#1A5245;--paper:#F8F5EE;--paper-2:#EFEAE0;--white:#FFFFFF;--gold:#C3A25C;--gold-deep:#A8863F;--brass-hi:#E3C27A;--brass-lo:#C9A455;--ink:#22292A;--muted:#6F7673;--rule:#DED7C8;--ok:#2F6B4F;--ok-bg:#E4F0E9;--warn:#8F5F12;--warn-bg:#F8EEDA;--no:#8C2F1F;--no-bg:#F7E9E5;--hosta:#EEF3F1;--p1:#5D7C6A;--p2:#8A7A5C;--p3:#6E8FA0;--p4:#9A6F5A;--p5:#4F6A5C;--p6:#B29A6A}*{box-sizing:border-box}[hidden]{display:none!important}body.admin{margin:0;background:var(--paper);color:var(--ink);font-family:Mulish,system-ui,sans-serif;font-size:14.5px;line-height:1.45}.admin h1,.admin h2,.admin h3{font-family:Marcellus,Georgia,serif;font-weight:400;margin:0;color:var(--emerald);text-wrap:balance}.admin button{font:inherit;cursor:pointer}.admin a{color:inherit}.eb{font:700 10.5px Mulish,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}#login{min-height:100vh;display:grid;place-items:center;background:var(--emerald-deep);padding:24px 16px}.lg{background:var(--paper);border-radius:20px;padding:36px 32px 28px;width:100%;max-width:400px;box-shadow:0 30px 60px rgba(0,0,0,.35)}.lg .logo{display:flex;align-items:center;gap:10px;font-family:Marcellus,serif;letter-spacing:.14em;text-transform:uppercase;color:var(--emerald);font-size:13px;margin-bottom:20px}.lg .logo i{width:22px;height:22px;border:1.5px dashed var(--gold);border-radius:4px}.lg h1{font-size:26px;margin-bottom:4px}.lg p{color:var(--muted);margin:0 0 20px;font-size:14px}.f{display:grid;grid-gap:6px;gap:6px;margin-bottom:14px}.f label{font-size:12.5px;font-weight:700;color:var(--emerald)}.f input,.f select,.f textarea{font:inherit;font-size:15px;padding:11px 12px;border:1.5px solid var(--rule);border-radius:8px;background:var(--white);color:var(--ink);width:100%}.f textarea{min-height:84px;resize:vertical}.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}.f .h{font-size:12px;color:var(--muted)}.btn{border:0;border-radius:8px;padding:12px 16px;font-weight:700;font-size:14px;text-align:center;text-decoration:none;display:inline-block}.btn.dark{background:var(--emerald);color:var(--paper)}.btn.brass{background:linear-gradient(180deg,var(--brass-hi),var(--brass-lo));color:#2A1E0C}.btn.line{color:var(--emerald);border:1.5px solid var(--emerald)}.btn.ghost,.btn.line{background:transparent}.btn.ghost{color:var(--muted)}.btn.sm{padding:7px 12px;font-size:13px}.btn.wide{width:100%}.lg .who{margin-top:18px;border-top:1px solid var(--rule);padding-top:14px;font-size:12.5px;color:var(--muted)}.lg .who b{color:var(--emerald)}#app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}@media (max-width:900px){#app{grid-template-columns:1fr}.nav{position:-webkit-sticky;position:sticky;top:env(safe-area-inset-top,0);z-index:5}}.nav{background:var(--emerald-deep);color:var(--paper);padding:20px 14px;display:flex;flex-direction:column;gap:4px}.nav .brand{display:flex;align-items:center;gap:10px;font-family:Marcellus,serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-size:12px;padding:6px 8px 18px}.nav .brand i{width:20px;height:20px;border:1.5px dashed var(--gold);border-radius:4px}.nav button{background:none;border:0;color:rgba(248,245,238,.78);text-align:left;padding:10px 12px;border-radius:8px;font-weight:600;font-size:14px;display:flex;justify-content:space-between;align-items:center}.nav button.on{background:var(--emerald);color:var(--paper)}.nav button .pill{background:var(--gold);color:var(--emerald-deep);font-size:11px;font-weight:700;border-radius:99px;padding:1px 8px}.nav .me{margin-top:auto;padding:14px 12px 0;border-top:1px solid var(--emerald-soft);font-size:13px}.nav .me b{display:block;color:var(--paper)}.nav .me span{color:rgba(248,245,238,.6);font-size:12px}@media (max-width:900px){.nav{flex-direction:row;flex-wrap:wrap;padding:10px 12px}.nav .brand{padding:6px 8px;width:100%}.nav .me{display:none}.nav button{padding:8px 10px;font-size:13px}}main{padding:28px 32px 60px;max-width:1360px}@media (max-width:900px){main{padding:20px 16px 60px}}.ph-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}.ph-h h1{font-size:30px}.ph-h p{margin:4px 0 0;color:var(--muted)}.card{background:var(--white);border:1px solid var(--rule);border-radius:14px}.chip{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:4px;white-space:nowrap}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.no{background:var(--no-bg);color:var(--no)}.chip.grey{background:var(--paper-2);color:var(--muted)}.chip.h{background:var(--hosta);color:#3B5C52}.plist{display:grid;grid-gap:10px;gap:10px}.prow{display:grid;grid-template-columns:64px 1.4fr 1fr 1fr auto;grid-gap:16px;gap:16px;align-items:center;padding:12px 16px;text-align:left;border:1px solid var(--rule);background:var(--white);border-radius:14px;color:inherit;width:100%}.prow:hover{border-color:var(--gold)}@media (max-width:900px){.prow{grid-template-columns:48px 1fr auto}.prow .hidem{display:none}}.pph{width:64px;height:48px;border-radius:8px;background:var(--p1)}.pph.p2{background:var(--p2)}.pph.p3{background:var(--p3)}.pph.p4{background:var(--p4)}.pph.p5{background:var(--p5)}.pph.p6{background:var(--p6)}.prow .n{font-weight:700;color:var(--emerald);font-size:15px}.prow .a{font-size:12.5px;color:var(--muted)}.bar{height:6px;background:var(--paper-2);overflow:hidden;margin:6px 0 4px}.bar,.bar i{border-radius:99px}.bar i{display:block;height:100%;background:var(--emerald)}.bar i.w{background:var(--gold)}.small{font-size:12.5px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:22px}@media (max-width:900px){.stats{grid-template-columns:1fr 1fr}}.stat{padding:14px 16px}.stat .k{font-size:12px;color:var(--muted)}.stat .v{font-family:Marcellus,serif;font-size:28px;color:var(--emerald);line-height:1.1;margin-top:2px}.stat .v small{font-family:Mulish,sans-serif;font-size:12.5px;color:var(--muted);margin-left:6px}.ed{display:grid;grid-template-columns:190px minmax(0,1fr) 270px;grid-gap:22px;gap:22px;align-items:start}@media (max-width:980px){.ed{grid-template-columns:190px minmax(0,1fr)}.prev{display:none}}@media (max-width:800px){.ed{grid-template-columns:1fr}.secs{position:static}}.secs .cat{padding:14px 10px 4px}.secs .cat:first-child{padding-top:0}.secs .dot.m{background:#B8B2A4}.secs button.mst span{color:var(--muted)}.secs button.cust span:after{content:" ·";color:var(--gold)}.secs .addsub{color:var(--gold-deep);font-size:12.5px;font-weight:700;padding:5px 10px}.secs .addcat{border:1.5px dashed var(--rule);color:var(--emerald);font-weight:700;margin-top:12px;justify-content:center}.secs .newin{font:inherit;font-size:13px;padding:7px 10px;border:1.5px solid var(--gold);border-radius:8px;margin:2px 0}.secs{position:-webkit-sticky;position:sticky;top:20px;display:grid;grid-gap:2px;gap:2px}.secs button{background:none;border:0;text-align:left;padding:8px 10px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--ink);font-size:13.5px}.secs button.on{background:var(--white);border:1px solid var(--rule);font-weight:700;color:var(--emerald)}.secs .dot{width:9px;height:9px;border-radius:50%;background:var(--ok);flex:none}.secs .dot.w{background:var(--gold)}.secs .dot.n{background:var(--no)}.secs .grp{padding:14px 10px 4px}.sec{padding:22px 24px;margin-bottom:16px}.sec h2{font-size:22px;margin-bottom:4px}.sec .sub{color:var(--muted);font-size:13.5px;margin:0 0 16px}.zone{border-radius:10px;padding:14px 16px;margin-bottom:14px}.zone.h{background:var(--hosta);border:1px solid #d7e2dd}.zone.o{background:var(--paper);border:1px solid var(--rule)}.zone .zt{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.zone .zt b{font-size:13px;color:var(--emerald)}.zone .zt span{font-size:12px;color:var(--muted)}.hv{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #d7e2dd;font-size:13.5px}.hv .k{font-size:11.5px;color:var(--muted);display:block}.hv .v{font-weight:600}.sw{display:inline-flex;border:1.5px solid var(--emerald);border-radius:7px;overflow:hidden}.sw button{border:0;background:transparent;color:var(--emerald);font-weight:700;font-size:12px;padding:5px 10px}.sw button.on{background:var(--emerald);color:var(--paper)}.g2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:640px){.g2{grid-template-columns:1fr}}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:10px;gap:10px;margin-top:6px}.pslot{aspect-ratio:4/3;border-radius:8px;position:relative;overflow:hidden;background:var(--p3)}.pslot.p2{background:var(--p2)}.pslot.p4{background:var(--p4)}.pslot.p5{background:var(--p5)}.pslot span{position:absolute;left:8px;bottom:6px;font:600 10px Mulish,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#fff}.pslot.empty{background:var(--white);border:1.5px dashed var(--rule);display:grid;place-items:center;color:var(--muted);font-size:12px;text-align:center;padding:8px}.pslot.empty b{display:block;color:var(--emerald);font-size:20px;font-weight:400;line-height:1}.tog{display:flex;align-items:center;gap:10px;font-size:13.5px}.tog i{width:36px;height:20px;border-radius:99px;background:var(--emerald);position:relative;flex:none}.tog i:after{content:"";position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;background:#fff}.tog.off i{background:#C9C1AD}.tog.off i:after{right:auto;left:2px}.secfoot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--rule);padding-top:14px;margin-top:6px;flex-wrap:wrap}.secfoot .small b{color:var(--emerald)}.steps-ed{display:grid;grid-gap:8px;gap:8px}.steps-ed div{display:grid;grid-template-columns:26px 1fr;grid-gap:10px;gap:10px;align-items:start}.steps-ed div span{width:26px;height:26px;border-radius:50%;background:var(--emerald);color:var(--paper);font-family:Marcellus,serif;display:grid;place-items:center;font-size:13px;margin-top:8px}.rowlist{display:grid}.rowlist>div{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--rule);font-size:13.5px}.rowlist>div:last-child{border-bottom:1px solid var(--rule)}.add,.rowlist .muted{color:var(--muted)}.add{background:none;border:1.5px dashed var(--rule);border-radius:8px;padding:9px;width:100%;font-weight:600;margin-top:10px}.prev{position:-webkit-sticky;position:sticky;top:20px}.prev .eb{margin-bottom:8px;display:block}.pp{background:var(--paper);border-radius:26px;border:6px solid var(--emerald-deep);overflow:hidden;box-shadow:0 20px 40px rgba(8,42,35,.3)}.pp .hero{height:120px;background:var(--p5);position:relative;color:#fff}.pp .hero div{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;background:linear-gradient(transparent,rgba(8,42,35,.9));font-family:Marcellus,serif;font-size:16px}.pp .safe{margin:12px 14px 0;background:linear-gradient(180deg,var(--brass-hi),var(--brass-lo));border-radius:12px;padding:10px 12px;color:#2A1E0C}.pp .safe .k{font:700 9px Mulish,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#5B4413;display:flex;justify-content:space-between}.pp .dials{display:flex;gap:5px;margin:7px 0 6px}.pp .dial{width:30px;height:38px;border-radius:5px;background:#1E3129;color:var(--brass-hi);font-family:Marcellus,serif;font-size:18px;display:grid;place-items:center}.pp .safe .s{font-size:11px;color:#5B4413;line-height:1.35}.pp .wifi{margin:10px 14px 0;background:#fff;border:1px solid var(--rule);border-radius:10px;padding:9px 11px;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:8px;gap:8px}.pp .wifi .k{font:700 9px Mulish,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);display:block}.pp .wifi b{display:block;font-size:12.5px;color:var(--emerald)}.pp .wifi .pw{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}.pp .wifi .cp{font:700 11px Mulish,sans-serif;border:1.5px solid var(--emerald);background:transparent;color:var(--emerald);border-radius:6px;padding:6px 9px}.pp .heat{margin:12px 14px 14px;font-size:12px}.pp .heat h4{font-family:Marcellus,serif;font-weight:400;font-size:16px;margin:0 0 6px;color:var(--emerald)}.pp .heat ol{margin:0;padding-left:0;list-style:none;counter-reset:s}.pp .heat li{position:relative;padding:5px 0 5px 28px;counter-increment:s;line-height:1.35}.pp .heat li:before{content:counter(s);position:absolute;left:0;top:5px;width:19px;height:19px;border-radius:50%;background:var(--emerald);color:var(--paper);font-family:Marcellus,serif;font-size:11px;display:grid;place-items:center}.pp .strip{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin:0 14px}.pp .strip div{height:54px;border-radius:7px;background:var(--p3)}.pp .strip div.p2{background:var(--p2)}.prev .note{font-size:12px;color:var(--muted);margin-top:10px}.rules{display:grid;grid-gap:6px;gap:6px}.rules>div{display:grid;grid-template-columns:1fr auto auto;grid-gap:10px;gap:10px;align-items:center}.rules input{font:inherit;font-size:14px;padding:9px 11px;border:1.5px solid var(--rule);border-radius:7px;background:var(--white);color:var(--ink);min-width:0}.rules input[readonly]{background:var(--paper-2);color:var(--muted)}.scen{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.scen button{font-size:12.5px;font-weight:700;border:1.5px solid var(--rule);background:var(--white);color:var(--ink);border-radius:99px;padding:6px 11px}.scen button.on{background:var(--emerald);border-color:var(--emerald);color:var(--paper)}.hand{background:var(--white);border:1px solid var(--rule);border-radius:4px;padding:12px 14px 10px;position:relative}.hand:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--gold)}.hand p{margin:0;font-size:20px;line-height:1.25;color:var(--emerald)}.hand p,.hand small{font-family:Caveat,cursive}.hand small{display:block;font-size:17px;color:var(--gold-deep);margin-top:4px;text-align:right}.mlist>div.on{background:var(--paper)}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}@media (max-width:900px){.two{grid-template-columns:1fr}}.mlist{padding:6px 0}.mlist>div{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:12px 20px;border-top:1px solid var(--rule)}.mlist>div:first-child{border-top:0}.mlist b{display:block;font-size:14.5px;color:var(--emerald)}.mlist span{font-size:12.5px;color:var(--muted)}.xtab{width:100%;border-collapse:collapse;font-size:13.5px}.xtab th{text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 14px;background:var(--paper-2)}.xtab td,.xtab th{border-bottom:1px solid var(--rule)}.xtab td{padding:11px 14px;vertical-align:middle}.xtab td:first-child{font-weight:700;color:var(--emerald)}.xtab .tog{justify-content:center}.tblwrap{overflow-x:auto}.req{display:grid;grid-template-columns:1fr auto;grid-gap:14px;gap:14px;padding:16px 20px;border-top:1px solid var(--rule);align-items:center}.req:first-child{border-top:0}.req b{color:var(--emerald);font-size:15px}.req .d{font-size:13px;color:var(--muted);margin-top:2px}.req .acts{display:flex;gap:8px;flex-wrap:wrap}.req.done{opacity:.6}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--emerald);color:var(--paper);padding:12px 18px;border-radius:10px;font-size:14px;box-shadow:0 10px 24px rgba(0,0,0,.3);z-index:9}.toast b{color:var(--gold)}.team,.team>div{display:grid}.team>div{grid-template-columns:1fr auto auto;grid-gap:14px;gap:14px;align-items:center;padding:12px 20px;border-top:1px solid var(--rule)}.team>div:first-child{border-top:0}.team b{display:block;color:var(--emerald)}.team span{font-size:12.5px;color:var(--muted)}.conn{grid-gap:12px}.conn,.conn>div{display:grid;gap:12px}.conn>div{grid-template-columns:1fr auto;grid-gap:12px;align-items:center;padding:14px 18px}.conn b{display:block;color:var(--emerald)}.conn span{font-size:12.5px;color:var(--muted)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.nav a{background:none;border:0;color:rgba(248,245,238,.78);text-align:left;padding:10px 12px;border-radius:8px;font-weight:600;font-size:14px;display:flex;justify-content:space-between;align-items:center;text-decoration:none}.nav a.on{background:var(--emerald);color:var(--paper)}.nav a .pill{background:var(--gold);color:var(--emerald-deep);font-size:11px;font-weight:700;border-radius:99px;padding:1px 8px}.secs a{background:none;border:0;text-align:left;padding:8px 10px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--ink);font-size:13.5px;text-decoration:none}.secs a.on{background:var(--white);border:1px solid var(--rule);font-weight:700;color:var(--emerald)}.secs a.mst span{color:var(--muted)}.secs a.cust span:after{content:" ·";color:var(--gold)}.secs form{display:grid;grid-gap:4px;gap:4px;padding:4px 10px}.secs form input{font:inherit;font-size:13px;padding:7px 10px;border:1.5px solid var(--gold);border-radius:8px}.mlist a.btn{text-decoration:none}.flash{background:var(--ok-bg);color:var(--ok);border-radius:8px;padding:10px 14px;margin-bottom:16px;font-weight:600}.flash.err{background:var(--no-bg);color:var(--no)}.tog input{display:none}.tog{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tog input:checked+i{background:var(--emerald)}.tog input:checked+i:after{right:2px;left:auto}.tog input:not(:checked)+i{background:#C9C1AD}.tog input:not(:checked)+i:after{left:2px;right:auto}.f input[type=file]{padding:8px}.photos .pslot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photos .pslot form{position:absolute;top:4px;right:4px}.photos .pslot form button{background:rgba(0,0,0,.55);color:#fff;border:0;border-radius:99px;width:22px;height:22px;font-size:13px;line-height:1;cursor:pointer}.photos .pslot.empty label{cursor:pointer;display:grid;place-items:center;width:100%;height:100%}.rules input[type=text]{width:100%}.rows{display:grid;grid-gap:8px;gap:8px}.mono{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:var(--paper-2);padding:2px 6px;border-radius:4px}.kvs{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 14px;gap:6px 14px;font-size:13.5px}.kvs b{color:var(--emerald)}.help{font-size:12.5px;color:var(--muted);line-height:1.45}