:root{color-scheme:dark;--bg:#0b1220;--panel:#141f31;--line:#2a3a50;--text:#eef3f9;--muted:#a9b8cb;--accent:#87b9ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,sans-serif}header,main,footer{max-width:1160px;margin:auto;padding:22px}header{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;font-size:14px}a{color:var(--accent)}h1{font-size:clamp(28px,4vw,42px);line-height:1.2;margin:12px 0 22px}h2{font-size:24px}h3{font-size:18px}.eyebrow{color:var(--accent);margin-top:18px}.muted,footer{color:var(--muted)}.notice{padding:16px 20px;border:1px solid #74643c;border-radius:12px;background:#292617;color:#f1dca7}.toolbar{display:flex;gap:12px;margin:18px 0}button,input,select,textarea{font:inherit;border-radius:8px;border:1px solid var(--line);padding:10px 13px;color:var(--text);background:#1c2d45}button{cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}label{display:block;color:var(--muted);font-size:14px;margin-bottom:8px}select{max-width:100%;min-width:260px}.layout{display:grid;grid-template-columns:minmax(250px,1fr) minmax(350px,1.5fr);gap:24px}.team{display:grid;gap:8px}.member{display:block;width:100%;text-align:left;padding:13px 16px;background:var(--panel)}.member.active{border-color:var(--accent);background:#1c3351}.member strong,.member small{display:block}.member small{color:var(--muted);margin-top:4px}.panel,.question{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.panel h3{margin-top:0}.badge{display:inline-block;padding:5px 10px;border-radius:7px;background:#24374d;margin:3px 0 10px;color:#bad7fc}.warning{background:#44351e;color:#ffe0a0}.editor{padding-top:18px;margin-top:14px;border-top:1px solid var(--line)}.editor input,.editor textarea{display:block;width:100%;margin-bottom:12px}.editor textarea{min-height:100px;resize:vertical}.editor p{font-size:14px}.question{margin-bottom:12px}.questions{margin-top:40px}#feedback{min-height:26px;color:#ffd18f}.login-row{display:flex;gap:10px}.login-row input{min-width:0;flex:1}footer{font-size:13px;border-top:1px solid var(--line)}[hidden]{display:none!important}@media(max-width:760px){header{display:block}header span{display:block;margin-top:8px}.layout{grid-template-columns:1fr}.team{grid-template-columns:1fr 1fr}.panel{padding:18px}main{padding:16px}.toolbar{flex-wrap:wrap}}@media(max-width:430px){.team{grid-template-columns:1fr}.login-row{display:block}.login-row button{margin-top:10px}}

.profile-presence{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;margin:14px 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.profile-photo{width:112px;height:140px;border:1px dashed var(--muted);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px;gap:8px;font-size:13px;background:var(--bg)}.photo-caption{font-size:18px}.profile-links h4{margin:0 0 8px;font-size:16px}.profile-links p{margin:6px 0;font-size:14px;overflow-wrap:anywhere}.profile-presence-note{grid-column:1/-1;font-size:13px;margin:0}@media(max-width:430px){.profile-presence{grid-template-columns:88px minmax(0,1fr);gap:12px}.profile-photo{width:88px;height:112px}}

.registry{margin:24px 0 40px;border-bottom:1px solid var(--line);padding-bottom:28px}.registry .layout{margin-top:18px}.registry select{min-width:0;width:100%;margin-bottom:12px}.profile-entry{border-top:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}.profile-entry p{margin:6px 0}.profile-entry .muted{font-size:13px}
.profile-option{display:block;width:100%;text-align:left;padding:13px 16px;background:var(--panel)}.profile-option strong,.profile-option small{display:block}.profile-option small{color:var(--muted);margin-top:4px}

.work-cycle,.work-item{overflow-wrap:anywhere;min-width:0}.work-item{margin-top:16px;padding:16px}.work-history{border-top:1px solid var(--line);padding-top:8px;margin-top:12px}.work-form input{min-width:0}.work-form button{max-width:100%;white-space:normal}

:is(.preparation,.package){min-width:0;overflow-wrap:anywhere}:is(.preparation,.package) select{min-width:0;width:100%;max-width:100%}:is(.preparation,.package) input{min-width:0}:is(.preparation,.package) .question{padding:14px;margin-top:12px}:is(.preparation,.package) button{max-width:100%;white-space:normal}
#detail{min-width:0}:is(.preparation,.package) details,:is(.preparation,.package) form{min-width:0;max-width:100%}:is(.preparation,.package) textarea{min-width:0;max-width:100%}

#review-create,#review-detail{min-width:0;overflow-wrap:anywhere}#review-create select,#review-detail select{min-width:0;max-width:100%;width:100%}.review-source{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#f2f5f7;color:#17212b;border-radius:8px}#review-detail input[type=checkbox]{width:auto}#review-create textarea,#review-detail textarea{min-width:0;max-width:100%}

.lead-page form,.lead-page label{display:grid;gap:.65rem;min-width:0}.lead-page form{margin:1rem 0}.lead-page input,.lead-page textarea,.lead-page select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.lead-page .panel,.lead-page .member{min-width:0;overflow-wrap:anywhere}.lead-page textarea{min-height:6rem}

.profile-photo:has(img){padding:0;overflow:hidden;border-style:solid}.profile-photo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:11px}

#profile-detail{min-width:0;overflow-wrap:anywhere}.mu-history{min-width:0;max-width:100%;overflow-wrap:anywhere;margin-top:1.5rem;border-top:1px solid #ddd;padding-top:1rem}.mu-history table{width:100%;border-collapse:collapse}.mu-history th,.mu-history td{padding:.45rem;text-align:left}.mu-history-table{overflow-x:auto}
#order-budget{margin:20px 0;min-width:0;overflow-wrap:anywhere}.order-budget-scroll{overflow-x:auto}.order-budget-form table{width:100%;border-collapse:collapse;min-width:740px}.order-budget-form th,.order-budget-form td{text-align:left;vertical-align:top;padding:10px;border-bottom:1px solid var(--line)}.order-budget-form small{display:block;color:var(--muted)}.order-budget-form input,.order-budget-form select{min-width:0;width:100%;margin:0}.order-budget-form td:nth-child(2){min-width:150px}.order-budget-form>label{max-width:180px;margin-top:16px}.order-budget-form>button{margin:10px 10px 0 0}.order-budget-totals{padding:12px 0}.budget-total{font-size:19px;display:block}

.reserve-entry h2{margin:.2rem 0}.reserve-entry a{display:inline-block}.catalog-search input{min-width:0}.catalog-options{display:flex;flex-wrap:wrap;gap:16px}.catalog-options label{min-width:170px}.catalog-alphabet{display:flex;flex-wrap:wrap;gap:5px;margin:18px 0}.catalog-alphabet button{padding:7px 10px;min-width:36px}.catalog-alphabet button[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.catalog-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:12px 0}.catalog-context{margin:16px 0}.catalog-context select{max-width:100%;min-width:0}body[data-page=reserve] .layout>*{min-width:0}body[data-page=reserve] #profile-list{overflow-wrap:anywhere}body[data-page=reserve] .login-row{flex-wrap:wrap}body[data-page=reserve] .login-row input{flex:1 1 240px;width:auto}

.person-profile-link {text-decoration:underline;text-underline-offset:.15em;} a.profile-option {display:block;color:inherit;text-decoration:none;} .team-person {padding:.65rem 0;} .team-person>.member {margin-top:.4rem;width:100%;} .self-report {border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem;overflow-wrap:anywhere;} .self-report p {white-space:pre-wrap;}

.new-order-action:not([hidden]){display:inline-block;padding:10px 16px;border:1px solid var(--accent);border-radius:8px;text-decoration:none;} .checkbox-row{display:flex;align-items:center;gap:10px;} .checkbox-row input{width:auto;} #order-details p{white-space:pre-wrap;overflow-wrap:anywhere;}

/* Helper photo controls and optional research settings. */
.enrichment-page .photo-checkbox{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:8px 0;color:var(--text);cursor:pointer}.enrichment-page .editor .photo-checkbox input{display:block;flex:0 0 24px;width:24px;height:24px;margin:0;accent-color:var(--accent)}.enrichment-page .form-feedback{padding:10px 12px;border-radius:8px;overflow-wrap:anywhere}.enrichment-page .form-feedback:empty{display:none}.enrichment-page .form-feedback.error{color:#ffb4b4;background:#351c26;border:1px solid #e76c79}.enrichment-page .form-feedback.success{color:#b9edcb}.enrichment-page .search-settings{margin:14px 0;min-width:0}.enrichment-page .search-settings summary{cursor:pointer;color:var(--accent);padding:10px 0;min-height:44px}.enrichment-page .search-settings textarea{display:block;width:100%;height:110px;resize:none;overflow:auto}.enrichment-page .panel,.enrichment-page form,.enrichment-page label{min-width:0;overflow-wrap:anywhere}.enrichment-page input{max-width:100%;min-width:0}.enrichment-page button{max-width:100%;white-space:normal}

.order-budget-form caption{text-align:left;font-weight:600;padding:12px 0}.order-budget-form th:first-child,.order-budget-form td:first-child{width:3.5em;min-width:3.5em;text-align:right}

/* Roster actions: navigation to the reserve is presented as an action button. */
.team>a.button{display:block;padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:#1c2d45;color:var(--text);text-decoration:none;text-align:center}.team>a.button:hover{border-color:var(--accent)}.team>a.button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.team-person>[data-remove-candidate]{margin-top:8px}.team-person form button{margin:4px 8px 4px 0}

/* Invoice form and a customer-facing print view, without roster or internal markup. */
.invoice-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.invoice-form label {display:flex;flex-direction:column;gap:4px;min-width:0}
.invoice-form input,.invoice-form select {max-width:100%;box-sizing:border-box}
.invoice-form p,.invoice-form h4 {grid-column:1/-1}
#invoice-document {overflow-wrap:anywhere}
#invoice-document table {width:100%;min-width:0}
#project-invoices li {margin:12px 0;overflow-wrap:anywhere}
@media(max-width:600px){.invoice-form{grid-template-columns:1fr}}
@media print {
 body:has(#invoice-document) header,.invoice-toolbar {display:none!important}
 body:has(#invoice-document) {background:white;color:black;font:12pt Arial,sans-serif}
 body:has(#invoice-document) main {max-width:none;margin:0;padding:0}
 #invoice-document {padding:0;box-shadow:none;border:0}
 #invoice-document h1 {font-size:19pt} #invoice-document h2 {font-size:15pt}
 #invoice-document table {border-collapse:collapse} #invoice-document td,#invoice-document th {border:1px solid #555;padding:7px}
}

.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.workspace-tabs a{display:inline-block;padding:8px 12px;border-radius:8px;text-decoration:none}.workspace-tabs a[aria-current=page]{background:var(--accent);color:var(--bg);font-weight:650}.workspace-tabs span{display:inline;margin:0}.people-drawer{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:14px 0 0 14px;padding:22px;width:min(680px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;overflow-y:auto;overflow-wrap:anywhere}.people-drawer::backdrop{background:#0009}.people-drawer-top{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;position:sticky;top:-22px;background:var(--panel);padding:12px 0;z-index:1}.people-drawer-top h2{margin:0;font-size:22px}.people-drawer select,.people-drawer input,.people-drawer textarea{min-width:0;max-width:100%;width:100%}.people-drawer .profile-option{margin:8px 0}.people-search{margin-bottom:16px}.people-search button{margin-top:10px}.people-drawer .toolbar{flex-wrap:wrap}.people-drawer h3{margin-top:20px}@media(max-width:430px){.people-drawer{padding:16px;border-radius:0}.people-drawer-top{top:-16px}.workspace-tabs a{padding:8px}.workspace-tabs span{display:inline}}

.people-photo{width:112px;height:140px;object-fit:contain;border-radius:10px}
