.portal-hero{background:linear-gradient(160deg,var(--forest) 0%,var(--forest-900) 100%);color:#c3d6ce;padding:clamp(40px,6vw,72px) 0 clamp(32px,4vw,48px)}.portal-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,3rem);margin-bottom:.3em}.portal-hero .eyebrow{color:var(--electric)}.portal-hero .lede{margin:0}.portal-main{padding-top:clamp(32px,5vw,56px)}.portal-loading{color:var(--grey)}.portal-demo{background:#fff6d6;color:#5a4a10;font-size:.88rem;padding:10px 0;border-bottom:1px solid #ecdca0}.portal-demo code{background:#0000000f;padding:1px 5px;font-size:.85em}.portal-bar{background:var(--bg-soft);border-bottom:1px solid var(--line);font-size:.92rem}.portal-bar .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;min-height:54px}.portal-bar-links{display:flex;gap:4px;flex-wrap:wrap}.portal-bar-links a{text-decoration:none;padding:8px 12px;font-weight:700;color:var(--forest)}.portal-bar-links a[aria-current]{background:#fff;box-shadow:inset 0 -3px 0 var(--electric)}.portal-bar-me{display:flex;gap:14px;align-items:center;color:var(--grey)}.linkish{background:none;border:0;padding:0;font:inherit;color:var(--forest);text-decoration:underline;text-decoration-color:var(--electric);text-decoration-thickness:2px;text-underline-offset:3px;cursor:pointer}.portal-flash{padding:14px 18px;margin-bottom:24px;font-weight:600;border-left:4px solid var(--electric);background:#21e0b41a;color:var(--forest)}.portal-flash.error{border-color:#c0392b;background:#fdecea;color:#7a1d14}.panel{background:#fff;border:1px solid var(--line);padding:clamp(20px,3vw,32px);margin-bottom:24px}.panel h2{font-size:clamp(1.2rem,2vw,1.5rem)}.panel h3{font-size:1rem;margin-top:1.4em}.panel>:last-child{margin-bottom:0}.cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}@media(max-width:900px){.cols{grid-template-columns:1fr}}.auth-box{max-width:520px}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:24px}.tabs button{background:none;border:0;font:inherit;font-weight:700;color:var(--grey);padding:12px 16px;cursor:pointer}.tabs button[aria-selected=true]{color:var(--forest);box-shadow:inset 0 -3px 0 var(--electric)}.hint{font-size:.85rem;color:var(--grey);font-weight:400;margin:6px 0 0}.btn[disabled]{opacity:.6;cursor:wait}.badge,.btn-small{font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:0;line-height:1;height:34px;padding:0 12px;display:inline-flex;align-items:center;gap:.5em;border-width:1.5px;border-style:solid;white-space:nowrap}.btn-small:after{font-size:.95rem}.btn-danger{border-color:#c0392b;color:#c0392b;background:#fff}.btn-danger:hover{background:#c0392b;color:#fff}.badge{background:var(--bg-soft);color:var(--forest);border-color:var(--line)}.badge-pending,.badge-applied{background:#fff6d6;border-color:#ecdca0;color:#5a4a10}.badge-approved,.badge-open,.badge-awarded{background:#21e0b429;border-color:#12b58f66;color:var(--forest)}.badge-rejected,.badge-suspended,.badge-unsuccessful{background:#fdecea;border-color:#f2c3bd;color:#7a1d14}.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.list>li{border-bottom:1px solid var(--line);padding:16px 0;display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap}.list .who{min-width:0}.list .who b{color:var(--forest);display:block}.list .who small{color:var(--grey)}.list .acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.8rem}.list .acts small{font-size:.8rem;color:var(--grey);margin-right:4px}.kv{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;margin:0}.kv dt{font-weight:700;color:var(--forest)}.kv dd{margin:0}@media(max-width:560px){.kv{grid-template-columns:1fr}.kv dd{margin-bottom:8px}}.expired{color:#c0392b;font-weight:700}.soon{color:#8a6d00;font-weight:700}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filters button{border:1.5px solid var(--line);background:#fff;font:inherit;font-weight:700;color:var(--forest);padding:8px 14px;cursor:pointer}.filters button[aria-pressed=true]{border-color:var(--electric-600);background:#21e0b41a}.job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.job-card{border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--grey);display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}.job-card:hover{border-color:var(--electric-600);box-shadow:0 10px 30px #10261e14;color:var(--grey)}.job-card .jc-img{aspect-ratio:16 / 9;background:var(--forest) center/cover no-repeat;position:relative}.job-card .jc-img .badge{position:absolute;left:12px;top:12px}.job-card .jc-body{padding:18px 20px 20px;display:grid;gap:6px}.job-card .jc-ref{font-family:var(--font-head);font-size:.72rem;letter-spacing:.14em;color:var(--electric-ink)}.job-card h3{margin:0;font-size:1.05rem}.job-card .jc-price{font-family:var(--font-head);color:var(--forest);font-size:1.3rem}.poster{container-type:inline-size;max-width:820px;background:#fff;border:1px solid var(--line);color:var(--forest);box-shadow:0 18px 50px #10261e14}.poster-top{background:var(--electric);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:clamp(18px,3vw,30px) clamp(20px,4vw,40px)}.poster-top img{width:clamp(90px,14vw,120px);height:auto}.poster-ref{text-align:right}.poster-ref span{display:block;font-family:var(--font-head);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}.poster-ref b{font-family:var(--font-head);font-weight:400;font-size:clamp(1.1rem,4cqw,1.6rem)}.poster-body{padding:clamp(20px,4vw,40px)}.poster-head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;margin-bottom:24px}@container (max-width: 560px){.poster-head{grid-template-columns:1fr}}.poster-head h2{font-size:clamp(1.25rem,3.6cqw,1.8rem);line-height:1.2;margin-bottom:.4em}.poster-where{display:flex;align-items:center;gap:6px;font-size:.95rem;font-weight:600;line-height:1.3;color:var(--forest);margin:0}.poster-tags{list-style:none;padding:0;margin:14px 0 0;display:flex;gap:6px;flex-wrap:wrap}.poster-tags li{background:var(--electric);color:var(--forest);font-size:.72rem;font-weight:700;padding:3px 8px}.poster-price{background:var(--forest);color:#fff;padding:16px 20px;min-width:200px}.poster-price span{display:block;font-family:var(--font-head);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--electric)}.poster-price b{display:block;font-family:var(--font-head);font-weight:400;font-size:clamp(1.5rem,4.4cqw,2rem);line-height:1.2;margin:6px 0 4px}.poster-price small{color:#c3d6ce;font-size:.82rem}.poster-photos{display:grid;gap:10px;margin-bottom:28px}.poster-hero{width:100%;aspect-ratio:16 / 7;object-fit:cover}.poster-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.poster-thumbs img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.poster-facts{display:flex;flex-wrap:wrap;gap:10px 32px;margin:0 0 28px;padding:16px 20px;background:var(--bg-soft)}.poster-facts dt{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--electric-ink)}.poster-facts dd{margin:0;font-weight:600}.poster-eyebrow{font-family:var(--font-head);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--electric-ink);margin-bottom:14px}.poster-scope{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 40px}.poster-scope h4{font-family:var(--font-body);font-weight:700;font-size:1rem;margin:0 0 8px}.poster-scope ul{margin:0 0 12px;padding-left:1.1em;color:var(--forest);font-size:.92rem}.poster-scope li{margin:6px 0}.poster-scope li::marker{color:var(--electric-600)}.poster-excl{background:#21e0b41a;padding:14px 18px;margin:16px 0 0;font-size:.95rem}.poster-foot{background:var(--forest);color:#c3d6ce;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:22px clamp(20px,4vw,40px)}.poster-foot b{display:block;color:#fff;font-size:1.05rem}.poster-foot a{color:#fff;text-decoration:none;font-size:1rem;font-weight:600}.poster-foot a small{display:block;font-family:var(--font-head);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--electric)}.scope-editor .scope-sec{border:1px solid var(--line);padding:14px;display:grid;gap:10px;margin-bottom:10px;background:var(--bg-soft)}.photo-strip{display:flex;gap:8px;flex-wrap:wrap}.photo-strip figure{margin:0;position:relative;width:110px}.photo-strip img{width:110px;height:80px;object-fit:cover}.photo-strip button[data-rm]{position:absolute;top:4px;right:4px;background:#10261ed9;color:#fff;border:0;font-size:.75rem;padding:2px 6px;cursor:pointer}@media print{.site-header,.site-footer,.mobile-bar,.portal-hero,.portal-bar,.portal-demo,.no-print,.skip{display:none!important}.portal-main{padding:0}.poster{box-shadow:none;border:0;max-width:none}.poster *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.job-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(max-width:1100px){.job-cols{grid-template-columns:1fr}}@media print{.job-cols{display:block}}.badge-irata{background:var(--forest);border-color:var(--forest);color:var(--electric)}.member-form{max-width:900px}.member-form .form>h2,.member-form .panel>h2{display:flex;align-items:center;gap:14px;margin-top:.6em}.member-form .form>h2:first-child{margin-top:0}.step{background:var(--forest);color:var(--electric);font-size:.8rem;padding:6px 10px;letter-spacing:.08em}fieldset.q{border:0;border-left:3px solid var(--electric);background:var(--bg-soft);padding:16px 18px;margin:0}fieldset.q .hint{clear:both}fieldset.q{min-width:0;display:block}fieldset.q .legend{float:left;width:100%;padding:0;margin:0 0 10px}fieldset.q .choice-grid{clear:both;width:100%}fieldset.q .choice{background:#fff}.choice-inline{grid-template-columns:repeat(auto-fill,minmax(110px,140px))}.slots{display:grid;gap:14px;margin:18px 0 8px}.slot{border:1px solid var(--line);padding:16px 18px}.slot h3{margin:0 0 12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:1rem}.slot .row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.portal-with-aside{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}.portal-with-aside .auth-box{max-width:none}.portal-aside h2{font-size:clamp(1.4rem,2.4vw,1.9rem)}.portal-aside .eyebrow{display:flex}@media(max-width:900px){.portal-with-aside{grid-template-columns:1fr}}.flags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.up-status:empty{display:none}.up-status.warn{color:#8a5a00;font-weight:600}.form-errors{background:#fbecea;border-left:3px solid #b5452f;color:#7a2418;padding:14px 18px;margin-bottom:16px}.form-errors ul{margin:6px 0 0;padding-left:20px}.form-errors .linkish{color:inherit;text-decoration:underline}.has-error{outline:2px solid #b5452f;outline-offset:4px;border-radius:2px}fieldset.q.has-error,.slot.has-error{outline-offset:0;background:#fdf4f2}.has-error>label,.has-error>.legend,.has-error>h3{color:#b5452f}.list li.flagged{border-left:4px solid #e0a526;padding-left:14px;background:#fffaf0}.list li.flagged.bad{border-left-color:#b5452f;background:#fdf4f2}.list>li>.who{flex:1 1 320px}.list>li>.acts{flex:0 0 auto}.flags{gap:4px;margin-top:8px}.flags .badge{font-size:.7rem;font-weight:600;height:24px;padding:0 8px;border-width:1px}.job-list>li{justify-content:flex-start}.job-list>li>.acts{margin-left:auto}.job-thumb{flex:0 0 96px;width:96px;aspect-ratio:4 / 3;background:var(--bg-soft);display:block;overflow:hidden}.job-thumb img{width:100%;height:100%;object-fit:cover;display:block}.job-list>li>.who{flex-basis:200px}@media(max-width:640px){.job-thumb{flex-basis:72px;width:72px}}.btn:not(.btn-small){font-size:.75rem;padding:.8em 1.15em}.status-select{font-family:var(--font-body);font-size:.8rem;font-weight:700;height:34px;padding:0 28px 0 12px;border:1.5px solid var(--line);background-color:var(--bg-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231d3a2f' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;color:var(--forest);appearance:none;-webkit-appearance:none;border-radius:0;cursor:pointer;width:auto;margin:0}.status-select:disabled{opacity:.6;cursor:wait}.photo-strip figure.main img{outline:3px solid var(--electric);outline-offset:-3px}.photo-strip .make-main,.photo-strip .main-tag{display:block;width:100%;margin-top:4px;font-size:.72rem;font-weight:700;text-align:center;padding:4px 0}.photo-strip .make-main{background:#fff;border:1.5px solid var(--forest);color:var(--forest);cursor:pointer}.photo-strip .make-main:hover{background:var(--forest);color:#fff}.photo-strip .main-tag{background:var(--electric);color:var(--forest);border:1.5px solid var(--electric)}.status-select.badge-open,.status-select.badge-awarded{background-color:#21e0b429;border-color:#12b58f66}.status-select.badge-closed{background-color:#eceeed;color:#5b6762}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.chat{margin-top:20px}.chat-list{list-style:none;margin:12px 0;padding:0;max-height:420px;overflow-y:auto;display:grid;gap:10px}.chat-list li{background:var(--bg-soft);border-left:3px solid var(--line);padding:10px 12px;margin-right:24px}.chat-list li.omnia{background:#21e0b41f;border-left-color:var(--electric);margin:0 0 0 24px}.chat-list li.chat-empty{background:none;border:0;padding:0;color:#6b7672}.chat-list p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-meta{display:flex;gap:8px;align-items:baseline;font-size:.8rem;flex-wrap:wrap}.chat-meta time{color:#6b7672}.chat-meta .linkish{margin-left:auto;font-size:.75rem}.chat-form{display:flex;gap:8px;align-items:flex-end}.chat-form textarea{flex:1;min-height:48px}.tabs a{font-weight:700;color:var(--grey);padding:12px 16px;text-decoration:none}.tabs a[aria-current=page]{color:var(--forest);box-shadow:inset 0 -3px 0 var(--electric)}.refine{display:flex;gap:12px 20px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px}.refine label{display:grid;gap:4px;font-size:.8rem;font-weight:700;color:var(--forest);margin:0}.refine select{font:inherit;font-weight:400;font-size:.9rem;padding:8px 10px;min-width:170px;width:auto}.refine .linkish{font-size:.85rem;margin-bottom:10px}.portal-main input,.portal-main select,.portal-main textarea,#portal-app input,#portal-app select,#portal-app textarea{scroll-margin-top:120px}
