@font-face{font-family:Barlow;src:url(/fonts/Barlow-Medium.ttf);font-weight:500}@font-face{font-family:Barlow;src:url(/fonts/Barlow-SemiBold.ttf);font-weight:600}@font-face{font-family:Barlow;src:url(/fonts/Barlow-Bold.ttf);font-weight:700}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Regular.ttf);font-weight:400}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Medium.ttf);font-weight:500}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBold.ttf);font-weight:600}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Bold.ttf);font-weight:700}:root{--green:#134B2C;--green-700:#1A5C38;--green-600:#2E7A50;--green-50:#EAF1EC;--gold:#B98E22;--gold-text:#876818;--gold-50:#F8F1DC;--ink:#1F1F1F;--ink-2:#555;--ink-3:#6F6F6F;--line:#E3E3E3;--line-2:#C8C8C8;--bg:#F4F6F4;--sand:#F6F3EB;--red:#B0463C;--red-bg:#FBE7E1;--red-bd:#DD9D8B;--amber:#8a4b00;--amber-bg:#fdf0dc;--amber-bd:#efc78e;--display:"Barlow","Helvetica Neue",system-ui,sans-serif;--body:"Montserrat",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.5}a{color:var(--gold-text)}a:hover{color:var(--green)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}h1,h2,h3{font-family:var(--display);font-weight:600;margin:0;letter-spacing:.01em}h1{font-size:28px}h2{font-size:21px}h3{font-size:17px}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{padding:7px 10px;border:1px solid #9a9a9a;border-radius:4px;background:#fff;min-height:36px;max-width:100%}textarea{width:100%;min-height:90px;resize:vertical}label.f{display:grid;grid-gap:4px;gap:4px;font-size:12px;font-weight:600;color:var(--ink-2)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;min-height:38px;background:var(--gold-text);color:#fff;border:none;border-radius:4px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none}.btn:hover{background:#9C7A1F;color:#fff}.btn.sec{background:#fff;color:var(--green);border:1px solid var(--green)}.btn.sec:hover{background:var(--green-50);color:var(--green)}.btn.sm{padding:4px 10px;min-height:30px;font-size:12px}.btn.danger{background:#fff;color:var(--red);border:1px solid var(--red-bd)}.shell{display:flex;flex-direction:column;min-height:100vh}.rule{height:3px;background:var(--gold)}.top{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}.top img{height:28px;display:block}.top .title{font-family:var(--display);font-weight:600;font-size:21px;padding-left:10px;border-left:1px solid var(--line-2)}.body{display:flex;flex:1 1;min-height:0}nav.rail{width:190px;flex:none;background:#fff;border-right:1px solid var(--line);padding:12px 8px;display:flex;flex-direction:column;gap:2px}nav.rail a{display:block;padding:9px 12px;border-radius:4px;color:var(--ink);text-decoration:none;font-weight:600;border-left:3px solid transparent}nav.rail a:hover{background:var(--bg)}nav.rail a[aria-current=page]{background:var(--green-50);color:var(--green);border-left-color:var(--gold)}main{flex:1 1;padding:20px 24px;min-width:0;max-width:1400px}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px}.grid{display:grid;grid-gap:14px;gap:14px}.g4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.muted{color:var(--ink-2)}.chip,.small{font-size:12px}.chip{display:inline-flex;gap:4px;align-items:center;padding:2px 9px;border-radius:999px;border:1px solid var(--line-2);font-weight:600;white-space:nowrap;background:#fff;color:#3A3A3A}.chip.red{background:var(--red-bg);border-color:var(--red-bd);color:var(--red)}.chip.amber{background:var(--amber-bg);border-color:var(--amber-bd);color:var(--amber)}.chip.amberL{background:#fef7e8;border-color:#f1dcae;color:#7a5200}.chip.green{background:#E6F0EA;border-color:#9CC2AB;color:#2E7A50}.chip.gold{background:#FBEEDC;border-color:#E0B37E;color:#83480B}.chip.muted{background:var(--bg);border-color:var(--line);color:var(--ink-2)}.chip.violet{background:var(--sand);border-color:#D8D2BD}table{border-collapse:collapse;width:100%}th{text-align:left;font-size:12px;color:var(--ink-2);border-bottom:1px solid var(--line-2);white-space:nowrap}td,th{padding:8px 10px}td{border-bottom:1px solid var(--line);vertical-align:top}.scroll{overflow-x:auto}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line-2);margin:16px 0;flex-wrap:wrap}.tabs a{padding:9px 14px;text-decoration:none;color:var(--ink-2);font-weight:600;border-bottom:3px solid transparent}.tabs a[aria-current=page]{color:var(--green);border-bottom-color:var(--gold)}.banner{padding:12px 14px;border-radius:6px;border:1px solid;font-weight:600}.banner.red{background:var(--red-bg);border-color:var(--red-bd);color:var(--red)}.banner.gold{background:var(--gold-50);border-color:#E0B37E;color:#5b4200}.meter{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.meter>i{display:block;height:100%;background:var(--green-600)}.avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;font-weight:700}.avatar.ws{background:var(--gold-text)}.avatar.none{background:#fff;color:var(--ink-3);border:1px dashed var(--ink-3)}.stage{display:flex;gap:4px;flex-wrap:wrap}.stage span{padding:4px 10px;border-radius:4px;background:var(--bg);font-size:12px;font-weight:600;color:var(--ink-3)}.stage span.on{background:var(--green);color:#fff}.stage span.done{background:var(--green-50);color:var(--green)}.board{grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);grid-gap:12px;gap:12px;overflow-x:auto;padding-bottom:8px}.board,.col{display:grid}.col{background:#ecefec;border-radius:8px;padding:10px;grid-gap:8px;gap:8px;align-content:start}.err{color:var(--red);font-weight:600}.err,.helper{font-size:12px}.helper{color:var(--ink-2);margin:2px 0 8px}.inl input,.inl select{min-height:30px;padding:3px 6px;font-size:12px}.sr{position:absolute;left:-9999px}@media (max-width:767px){nav.rail{position:fixed;bottom:0;left:0;right:0;width:auto;flex-direction:row;overflow-x:auto;z-index:5;border-top:1px solid var(--line);border-right:none;padding:4px}nav.rail a{white-space:nowrap;padding:10px}main{padding:14px 12px 80px}}@media print{.noprint,.top,nav.rail{display:none!important}}