.profession-picker{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}
.choice-chip{display:inline-flex!important;align-items:center;gap:7px;max-width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);text-transform:none!important;letter-spacing:0!important;cursor:pointer}
.choice-chip span{min-width:0;overflow-wrap:anywhere}
.choice-chip:has(input:checked){border-color:var(--blue);background:#2478e522;color:#8fc2ff}
.profession-selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px}
.profession-category-card{min-width:0;padding:14px 16px;border:1px solid color-mix(in srgb,var(--blue) 24%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--blue) 5%,var(--surface2))}
.profession-category-card.is-wide{grid-column:1/-1}
.profession-category-card h2{margin:0 0 10px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.profession-category-card .profession-picker{display:grid;grid-template-columns:1fr;gap:7px}
.profession-category-card.is-wide .profession-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
.profession-category-card .choice-chip{width:100%;min-height:42px;padding:9px 12px;background:var(--surface)}
.profession-category-card .choice-chip:has(input:checked){border-color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--blue);box-shadow:inset 3px 0 var(--blue)}
.profession-list{display:grid;gap:8px;margin-top:18px}.profession-row{display:flex;align-items:center;gap:8px}.profession-row>form:first-child{display:flex;gap:8px;flex:1}.profession-row .field{flex:1}
.profession-catalog-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:rgba(3,8,15,.58);backdrop-filter:blur(4px)}.profession-catalog-modal[hidden]{display:none}.profession-catalog-dialog{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:hidden}.profession-catalog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line)}.profession-catalog-header h2{margin:0;font-size:16px}.profession-catalog-header p{margin:5px 0 0;color:var(--muted);font-size:12px}.profession-catalog-close{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);color:var(--text);font-size:20px;cursor:pointer}.profession-catalog-body{max-height:calc(100vh - 150px);padding:18px 20px;overflow-y:auto}.profession-catalog-body .profession-list{margin-top:14px}html[data-theme="light"] .profession-catalog-modal{background:rgba(28,43,61,.32)}
.inline-editor{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface2)}
.collaborator-project-row{min-height:62px}.timeline-actions{margin-left:auto}.timeline-item{align-items:center}
.visit-list{display:grid;gap:12px}.visit-item{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.visit-heading{display:flex;justify-content:space-between;gap:14px}.visit-heading>div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.visit-heading time{color:var(--blue);font-weight:800}.visit-heading h3{margin:0;font-size:14px}.visit-heading span{color:var(--muted);font-size:12px}.visit-description{white-space:pre-wrap;line-height:1.65;margin:13px 0 0}.visit-description-input{min-height:170px!important}.field-suffix{display:flex;align-items:center;gap:9px}.field-suffix .field{flex:1}.field-suffix span{color:var(--muted);font-weight:700}
.project-notes-editor{width:100%;min-height:calc(100vh - 300px);resize:vertical;line-height:1.65}.project-notes-form [data-unsaved-note-status]{color:var(--amber)}
.overview-export-action{margin-top:22px}
.project-structure-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 16px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.structure-switches{display:flex;flex-wrap:wrap;gap:7px}.structure-name-row{display:flex;align-items:end;justify-content:flex-start;gap:8px;margin:0 0 16px}.structure-name-row form:first-child{display:flex;align-items:end;gap:8px;flex:0 1 auto}.structure-name-row label{font-size:15px;font-weight:800;color:var(--text);white-space:nowrap}.structure-name-row .field{width:min(560px,55vw);max-width:none;font-size:16px}.structure-section-row td{background:var(--surface2);color:var(--blue)}.field-compact{min-width:150px;padding:6px 8px!important;font-size:11px!important}.action-row form:has(.field-compact){display:flex;gap:6px;align-items:center}
.structure-add-button{border-color:#20a66a!important;background:#20a66a!important;color:#fff!important}.structure-add-button:hover{border-color:#178755!important;background:#178755!important;color:#fff!important}
.docx-button{border-color:#20a66a!important;background:#20a66a!important;color:#fff!important}.docx-button:hover{border-color:#178755!important;background:#178755!important;color:#fff!important}
.project-structure-enable-button{border-color:#20a66a!important;background:#20a66a!important;color:#fff!important}.project-structure-enable-button:hover{border-color:#178755!important;background:#178755!important;color:#fff!important}
@media(max-width:800px){.project-structure-toolbar,.structure-name-row,.structure-name-row form:first-child{align-items:stretch;flex-direction:column}.structure-name-row .field{max-width:none}}
.report-type-picker{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;margin-top:7px}.report-type-option{position:relative;display:grid!important;grid-template-rows:72px auto 1fr;gap:7px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface2);cursor:pointer;text-transform:none!important;letter-spacing:0!important}.report-type-option input{position:absolute;opacity:0;pointer-events:none}.report-type-option:has(input:checked){border-color:#000;box-shadow:inset 0 0 0 1px #000,0 0 0 1px #000}.report-type-preview{display:grid;align-content:center;gap:6px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:6px;background:var(--surface)}.report-type-preview i{display:block;height:3px;border-radius:2px;background:color-mix(in srgb,var(--muted) 38%,transparent)}.report-type-preview i:nth-child(1){width:45%;height:5px;background:var(--blue)}.report-type-preview i:nth-child(3){width:75%}.report-type-option strong{font-size:12px;line-height:1.35}.report-type-option small{color:var(--muted);font-size:10px;line-height:1.45}
html[data-theme="light"] .choice-chip,html[data-theme="light"] .inline-editor,html[data-theme="light"] .visit-item{background:#f8fbff;border-color:#cbd9e7}
html[data-theme="light"] .report-type-option{background:#f8fbff;border-color:#cbd9e7}
html[data-theme="light"] .report-type-option:has(input:checked){border-color:#000;box-shadow:inset 0 0 0 1px #000,0 0 0 1px #000}
@media(max-width:1100px){.report-type-picker{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:800px){.profession-selection-grid{grid-template-columns:1fr}.profession-category-card.is-wide{grid-column:auto}.profession-category-card.is-wide .profession-picker{grid-template-columns:1fr}.profession-row>form:first-child{flex-direction:column}.visit-heading{flex-direction:column}.timeline-actions{margin-left:0}.report-type-picker{grid-template-columns:1fr}}
.area-balance-grid{display:grid;grid-template-columns:minmax(250px,1fr) minmax(0,3fr);gap:18px}.area-balance-fields{display:grid;gap:14px}.area-balance-readonly{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface2)}.area-balance-readonly strong{font:700 16px Space Mono;color:var(--blue)}.area-balance-readonly span{color:var(--muted);font-weight:700}.area-balance-warning{color:var(--amber)}.area-balance-results{display:flex;flex-direction:column}.area-balance-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(220px,1fr)) auto;gap:12px;flex:1}.area-result{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1fr auto;align-items:end;align-content:space-between;gap:10px 16px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.area-result>*:not(.area-result-art){position:relative;z-index:1}.area-result-art{position:absolute;z-index:0;inset:0 0 0 auto;width:76%;height:100%;object-fit:contain;object-position:right center;opacity:.34;pointer-events:none;filter:saturate(.92) contrast(.94)}.area-result::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,var(--surface2) 0%,color-mix(in srgb,var(--surface2) 92%,transparent) 34%,transparent 72%);pointer-events:none}.area-result-heading{align-self:start}.area-result-heading span,.area-result-heading small{display:block}.area-result-heading span{font:800 16px Space Mono;color:var(--blue)}.area-result-heading small{margin-top:5px;color:var(--muted);font-size:13px}.area-result>strong{grid-column:2;justify-self:end;font:800 44px Space Mono;line-height:1;color:var(--text);text-shadow:0 1px 16px var(--surface)}.area-result-primary>strong{font-size:58px;color:var(--blue)}.area-result>b{grid-column:2;justify-self:end;font:800 44px Space Mono;line-height:1;color:#0b0f17;text-shadow:0 1px 12px var(--surface)}.area-result>p{grid-column:1/-1;margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.area-result-comparison{grid-column:1/-1;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--surface) 78%,transparent);color:var(--muted);font-size:12px;font-weight:700;backdrop-filter:blur(5px)}.area-result-comparison.is-success{background:#36d39926;color:var(--green)}.area-result-comparison.is-danger{background:#ff6b7a26;color:var(--red)}.area-result-green .area-result-heading span{color:var(--green)}.area-result-green .area-result-art{opacity:.39}.area-balance-summary{grid-column:1/-1;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.area-balance-summary-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.area-balance-summary-header h3{margin:0 0 4px;font-size:15px}.area-balance-summary-header small{color:var(--muted);font-size:11px}.area-copy-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.area-balance-summary-text{min-height:112px;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);white-space:pre-line;font-size:13px;line-height:1.7;color:var(--text);user-select:text}
@media(max-width:900px){.area-balance-grid{grid-template-columns:1fr}}
@media(max-width:600px){.area-balance-result-list{grid-template-columns:1fr;grid-template-rows:none}.area-balance-summary-header{align-items:flex-start;flex-direction:column}.area-copy-button{width:100%}}
.project-share-button {
    border-color: color-mix(in srgb, var(--green) 62%, var(--line));
    background: color-mix(in srgb, var(--green) 22%, var(--surface));
    color: color-mix(in srgb, var(--green) 82%, white);
    box-shadow: 0 8px 22px color-mix(in srgb, var(--green) 18%, transparent);
}

html[data-theme="light"] .project-share-button {
    border-color: #71cba9;
    background: #e7f8f1;
    color: #147650;
}

.project-share-modal { position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; padding: 24px; background: rgba(3, 8, 15, .72); backdrop-filter: blur(7px); }
.project-share-modal[hidden] { display: none; }
.project-share-dialog { width: min(1120px, 100%); max-height: calc(100vh - 48px); overflow: auto; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, var(--surface2), var(--surface)); box-shadow: 0 28px 80px rgba(0,0,0,.38); }
.project-share-header { display: flex; justify-content: space-between; gap: 18px; padding: 24px 26px; border-bottom: 1px solid var(--line); }
.project-share-header h2 { margin: 0; font-size: 21px; }
.project-share-header p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.project-share-close { border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 28px; line-height: 1; }
.project-share-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 22px 26px; }
.project-share-column { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--surface2) 72%, transparent); }
.project-share-column h3 { margin: 0; font-size: 14px; }
.project-share-column > p { min-height: 38px; margin: 7px 0 16px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.project-share-users { display: grid; gap: 9px; }
.project-share-user { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.project-share-user form { justify-self: end; }
.project-share-user strong, .project-share-user span, .project-share-user small { display: block; }
.project-share-user strong { font-size: 11px; }
.project-share-user .project-share-email { overflow: hidden; font-size: 14px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.project-share-user [data-share-label] { white-space: nowrap; }
.project-share-user span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.project-share-user small { margin-top: 5px; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.project-share-user small.is-active { color: var(--green); }
.project-share-user small.is-inactive { color: var(--red); }
.project-share-coming-soon { min-height: 150px; display: grid; place-items: center; align-content: center; gap: 10px; text-align: center; color: var(--muted); }
.project-share-coming-soon span { color: var(--blue); font-size: 34px; }
.project-portal-share-panel{margin:0 26px 22px;padding:20px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface2) 72%,transparent)}.project-portal-share-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.project-portal-share-heading h3{margin:0;font-size:16px}.project-portal-share-heading p{margin:6px 0 18px;color:var(--muted);font-size:12px}.project-portal-share-panel>label{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.project-portal-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px}.project-portal-link-row .field{min-width:0}.project-portal-link-row .is-disabled{pointer-events:none;opacity:.5}.project-portal-share-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.project-portal-share-empty{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted)}
.project-portal-title-row{display:flex;align-items:center;gap:8px}.project-portal-help-button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid color-mix(in srgb,var(--blue) 42%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--blue) 10%,var(--surface));color:var(--blue);font-size:13px;font-weight:850;cursor:pointer}.project-portal-help-button:hover{background:var(--blue);color:#fff}.project-portal-help-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:20px;background:rgba(3,8,15,.64);backdrop-filter:blur(5px)}.project-portal-help-modal[hidden]{display:none}.project-portal-help-dialog{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 28px 80px rgba(0,0,0,.38)}.project-portal-help-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line)}.project-portal-help-dialog header span{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.project-portal-help-dialog h2{margin:4px 0 0;font-size:21px}.project-portal-help-dialog header button{border:0;background:transparent;color:var(--muted);font-size:27px;line-height:1;cursor:pointer}.project-portal-help-content{padding:20px 22px}.project-portal-help-content>p{margin:0;color:var(--muted);line-height:1.6}.project-portal-help-content ol{display:grid;gap:10px;margin:18px 0;padding-left:22px;line-height:1.5}.project-portal-help-content .project-portal-help-note{padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--blue) 9%,var(--surface2));color:var(--text);font-weight:650}.project-portal-help-dialog footer{display:flex;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--line)}
.project-share-footer { display: flex; justify-content: flex-end; padding: 17px 26px; border-top: 1px solid var(--line); }
html[data-theme="light"] .project-share-modal { background: rgba(28,43,61,.42); }
@media (max-width: 760px) { .project-share-columns { grid-template-columns: 1fr; padding: 16px; } .project-share-user { align-items: flex-start; flex-direction: column; } .project-share-user form, .project-share-user button { width: 100%; } .project-portal-share-panel{margin:0 16px 16px;padding:16px}.project-portal-share-heading,.project-portal-share-empty{align-items:stretch;flex-direction:column}.project-portal-link-row{grid-template-columns:1fr}.project-portal-link-row .btn,.project-portal-share-empty .btn{width:100%} }

.project-header-tools{display:flex;align-items:stretch;justify-content:flex-end;gap:10px}.project-expedition-open{min-height:58px;padding-inline:20px;font-weight:800}.project-expedition-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:rgba(3,8,15,.72);backdrop-filter:blur(7px)}.project-expedition-modal[hidden]{display:none}.project-expedition-dialog{display:flex;flex-direction:column;width:min(1180px,100%);max-height:calc(100vh - 48px);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 28px 80px rgba(0,0,0,.38)}.project-expedition-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 26px;border-bottom:1px solid var(--line)}.project-expedition-header h2{margin:3px 0 0;font-size:22px}.project-expedition-header p{margin:6px 0 0;color:var(--muted)}.project-expedition-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--text);font-size:24px;cursor:pointer}.project-expedition-body{min-height:0;overflow:auto;padding:22px 26px}.project-expedition-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.project-expedition-chart{display:flex;align-items:center;justify-content:center;gap:18px;min-height:126px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}.project-expedition-chart>div{display:grid;gap:5px}.project-expedition-chart strong{font-size:17px}.project-expedition-chart span:last-child{color:var(--muted);font-size:13px}.project-expedition-donut{--expedition-color:#28a36a;position:relative;display:grid;place-items:center;width:88px;height:88px;flex:0 0 88px;border-radius:50%;background:conic-gradient(var(--expedition-color) calc(var(--expedition-percent) * 1%),color-mix(in srgb,var(--line) 75%,transparent) 0)}.project-expedition-donut.is-printed{--expedition-color:#3387e8}.project-expedition-donut::after{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--surface2)}.project-expedition-donut b{position:relative;z-index:1;font-size:17px}.project-expedition-table-wrap{max-height:48vh;overflow:auto;border:1px solid var(--line);border-radius:12px}.project-expedition-table{width:100%;min-width:760px;table-layout:fixed;border-collapse:collapse}.project-expedition-table col.is-file{width:30%}.project-expedition-table col.is-name{width:38%}.project-expedition-table col.is-state{width:16%}.project-expedition-table th,.project-expedition-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;overflow-wrap:anywhere;word-break:break-word}.project-expedition-table th{position:sticky;top:0;z-index:1;background:var(--surface2);color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.project-expedition-table td:nth-child(3),.project-expedition-table td:nth-child(4),.project-expedition-table th:nth-child(3),.project-expedition-table th:nth-child(4){text-align:center}.project-expedition-table tbody tr:last-child td{border-bottom:0}.project-expedition-state{width:100%;min-height:36px;padding:7px 8px;border:1px solid transparent;border-radius:9px;color:#fff;font-weight:800;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.project-expedition-state:hover{transform:translateY(-1px)}.project-expedition-state.is-pending{border-color:#c34848;background:#b83f3f}.project-expedition-state.is-confirmed{border-color:#218353;background:#269963}.project-expedition-state:disabled{cursor:not-allowed;opacity:.65;transform:none}.project-expedition-status{min-height:18px;margin:10px 0 0;color:var(--muted);font-size:12px}.project-expedition-status.is-error{color:#df6464}.project-expedition-status.is-saved{color:#2ea76e}.project-expedition-empty{margin:20px 0}.project-expedition-dialog>footer{display:flex;justify-content:flex-end;padding:14px 26px;border-top:1px solid var(--line)}html[data-theme="light"] .project-expedition-modal{background:rgba(28,43,61,.42)}
@media(max-width:800px){.project-header-tools{justify-content:flex-start;flex-wrap:wrap}.project-expedition-open{min-height:48px}.project-expedition-modal{padding:8px}.project-expedition-dialog{max-height:calc(100vh - 16px);border-radius:12px}.project-expedition-body{padding:16px}.project-expedition-header{padding:18px}.project-expedition-charts{grid-template-columns:1fr}.project-expedition-table-wrap{max-height:52vh}}
.record-form-modal{position:fixed;inset:0;z-index:1250;display:grid;place-items:center;padding:24px;background:rgba(3,8,15,.58);backdrop-filter:blur(4px)}.record-form-modal[hidden]{display:none}.record-form-dialog{position:relative;width:min(940px,100%);height:min(820px,calc(100vh - 48px));overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.32)}.record-form-frame{display:block;width:100%;height:100%;border:0;background:var(--page)}.record-form-close{position:absolute;z-index:2;top:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--text);font-size:22px;cursor:pointer}.record-modal-document{min-height:100%;overflow-y:auto;background:var(--page);scrollbar-width:none}.record-modal-document::-webkit-scrollbar{display:none;width:0;height:0}.record-modal-page{max-width:920px;margin:0 auto;padding:24px 30px 24px 24px}.record-modal-page .page-header{padding-right:48px}.record-modal-page .form-card{margin-bottom:0}@media(max-width:700px){.record-form-modal{padding:8px}.record-form-dialog{height:calc(100vh - 16px);border-radius:12px}.record-modal-page{padding:16px 18px 16px 12px}.record-form-close{top:10px;right:16px}}

.company-only[hidden]{display:none!important}
.record-modal-page .client-record-form .card-body{padding:16px 20px}
.record-modal-page .client-record-form .form-grid{gap:11px 17px}
.record-modal-page .client-record-form .form-group{gap:5px}
.record-modal-page .client-record-form .field{min-height:40px;padding:8px 11px}
.record-modal-page .client-record-form textarea.field{min-height:78px}
.record-modal-page .client-record-form .form-actions{margin-top:13px;padding-top:12px}
.record-modal-page:has(.client-record-form){padding-top:16px;padding-bottom:16px}
.record-modal-page:has(.client-record-form) .page-header{margin-bottom:16px}
.client-record-form{max-width:1180px}.client-form-layout{display:grid;gap:17px}.client-row-primary,.client-row-company,.client-row-contact,.client-row-address{display:grid;gap:17px}.client-row-primary{grid-template-columns:minmax(0,1fr) minmax(0,.5fr) minmax(0,2fr) minmax(0,.5fr)}.client-row-primary>.form-group{min-width:0}.client-row-primary .field{width:100%;min-width:0}.client-row-company{grid-template-columns:repeat(3,minmax(0,1fr))}.client-row-contact{grid-template-columns:repeat(2,minmax(0,1fr))}.client-row-address{grid-template-columns:1.3fr 1fr .55fr}@media(max-width:900px){.client-row-primary{grid-template-columns:1fr .65fr}.client-row-primary .form-group:nth-child(3){grid-column:1/-1}.client-row-company,.client-row-address{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.client-row-primary,.client-row-company,.client-row-contact,.client-row-address{grid-template-columns:1fr}.client-row-primary .form-group:nth-child(3){grid-column:auto}}
.record-modal-root{overflow-y:auto;scrollbar-width:none}
.record-modal-root::-webkit-scrollbar{display:none;width:0;height:0}
.project-portal-pin-row.is-pin-disabled{border-color:#ef9aa1;background:#fff1f2;box-shadow:inset 4px 0 0 #d83b46}.project-portal-pin-row.is-pin-disabled span,.project-portal-pin-row.is-pin-disabled small{color:#a52630}.project-portal-pin-row.is-pin-disabled strong{color:#b4232c}
.project-portal-autosave-status{font-size:12px;font-weight:700;color:var(--muted)}.project-portal-autosave-status.is-saved{color:#21835c}.project-portal-autosave-status.is-error{color:#c3323d}

.project-portal-pin-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.project-portal-pin-row>div{display:grid;gap:3px;margin-right:auto}.project-portal-pin-row span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.project-portal-pin-row strong{font-size:24px;letter-spacing:.16em}.project-portal-pin-row small{color:var(--muted)}.project-portal-qr{width:86px;height:86px;padding:5px;background:#fff;border-radius:8px}.project-portal-settings{margin-top:16px;padding:15px;border:1px solid var(--line);border-radius:12px}.project-portal-settings h4{margin:0 0 10px}.project-portal-settings h4:not(:first-of-type){margin-top:16px}.project-portal-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.project-portal-settings-grid label{display:flex;align-items:center;gap:8px;font-size:13px}.project-portal-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.project-portal-settings-footer small{color:var(--muted)}
@media(max-width:760px){.project-portal-settings-grid{grid-template-columns:1fr}.project-portal-settings-footer,.project-portal-pin-row{align-items:stretch;flex-direction:column}.project-portal-pin-row form,.project-portal-pin-row .btn{width:100%}}

/* Distinct project tabs; this stylesheet loads after the light-theme overrides. */
.project-tabs .tab.tab-project-documents,
html[data-theme="light"] .project-tabs .tab.tab-project-documents {
  color: #c62828 !important;
}
.project-tabs .tab.tab-project-documents.active,
.project-tabs .tab.tab-project-documents:hover,
html[data-theme="light"] .project-tabs .tab.tab-project-documents.active,
html[data-theme="light"] .project-tabs .tab.tab-project-documents:hover {
  color: #b71c1c !important;
  border-bottom-color: #c62828 !important;
}
.project-tabs .tab.tab-project-tasks,
html[data-theme="light"] .project-tabs .tab.tab-project-tasks {
  color: #9a6b00 !important;
}
.project-tabs .tab.tab-project-tasks.active,
.project-tabs .tab.tab-project-tasks:hover,
html[data-theme="light"] .project-tabs .tab.tab-project-tasks.active,
html[data-theme="light"] .project-tabs .tab.tab-project-tasks:hover {
  color: #7d5700 !important;
  border-bottom-color: #9a6b00 !important;
}

.file-explorer-dialog.project-entry-dialog-title {
  width: min(1080px, calc(100vw - 40px));
}
.file-explorer-dialog.project-entry-dialog-wide {
  width: min(1120px, calc(100vw - 40px));
}
.project-entry-dialog-title .documentation-form-grid {
  grid-template-columns: minmax(0, 3fr) minmax(0, 7fr) 180px;
}
.project-entry-dialog-wide .report-create-grid {
  grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
  align-items: end;
}
.project-entry-dialog-wide .report-create-grid > .full,
.project-entry-dialog-wide .report-create-grid > .form-actions {
  grid-column: 1 / -1;
}
.project-entry-dialog-wide .report-type-picker {
  grid-template-columns: repeat(5, minmax(165px, 1fr));
}
.project-entry-dialog-title .documentation-note,
.project-entry-dialog-title .form-actions {
  grid-column: 1 / -1;
}
.project-entry-dialog-title .documentation-structure {
  grid-column: 1 / 3;
  max-width: 520px;
}

.project-structure-toolbar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
.structure-navigation {
  order: 1;
  display: flex;
  align-items: flex-end;
  gap: 18px;
  min-width: 0;
  flex-wrap: wrap;
}
.structure-navigation-main,
.structure-navigation-group {
  display: grid;
  gap: 6px;
}
.structure-navigation-main > span,
.structure-navigation-group > span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.structure-navigation .structure-switches {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.structure-navigation .btn-ghost {
  border-color: #cad6e3;
  background: #fff;
  color: #27384d;
}
.structure-navigation .btn-primary {
  border-color: #2f84f5;
  background: #2f84f5;
  color: #fff;
}
.structure-actions {
  order: 2;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.structure-actions-title-sheets {
  justify-content: flex-start;
  align-items: center;
}
.structure-add-actions {
  display: flex;
  gap: 8px;
}
.title-sheet-add-button,
.technical-report-add-button {
  border-color: #c62828 !important;
  background: #c62828 !important;
  color: #fff !important;
  box-shadow: none;
}
.title-sheet-add-button:hover,
.technical-report-add-button:hover {
  border-color: #a91616 !important;
  background: #a91616 !important;
  color: #fff !important;
}
.structure-actions .structure-add-button {
  min-height: 32px;
  padding: 6px 10px;
  border-color: #cad6e3 !important;
  background: #fff !important;
  color: #27384d !important;
  box-shadow: none;
}
.structure-actions .structure-add-button:hover {
  border-color: #2f84f5 !important;
  background: #f2f7ff !important;
  color: #1769d2 !important;
}
@media (max-width: 820px) {
  .project-entry-dialog-title .documentation-form-grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
  }
  .project-entry-dialog-title .documentation-form-grid > .form-group:nth-child(3) {
    grid-column: 1 / -1;
  }
  .project-entry-dialog-title .documentation-structure {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
  }
  .project-entry-dialog-wide .report-create-grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
  }
  .project-entry-dialog-wide .report-type-picker {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }
}
@media (max-width: 560px) {
  .project-entry-dialog-title .documentation-form-grid {
    grid-template-columns: 1fr;
  }
  .project-entry-dialog-wide .report-create-grid,
  .project-entry-dialog-wide .report-type-picker {
    grid-template-columns: 1fr;
  }
  .project-entry-dialog-title .documentation-form-grid > .form-group {
    grid-column: 1;
  }
  .structure-navigation {
    align-items: stretch;
    flex-direction: column;
  }
  .structure-actions {
    justify-content: stretch;
  }
  .structure-actions-title-sheets,
  .structure-add-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .structure-actions form,
  .structure-actions .btn {
    flex: 1;
  }
}
.milestone-card { margin-bottom: 1.25rem; }
.milestone-timeline { display:flex; align-items:flex-start; gap:0; overflow-x:auto; padding:1.25rem .5rem; text-decoration:none; color:inherit; }
.milestone-node { position:relative; flex:1 0 150px; min-width:150px; padding:2.1rem .65rem .35rem; text-align:center; border-top:3px solid #cbd5e1; }
.milestone-node .milestone-dot { position:absolute; top:-10px; left:50%; transform:translateX(-50%); width:20px; height:20px; border-radius:50%; background:#fff; border:3px solid #64748b; display:grid; place-items:center; font-size:11px; font-style:normal; color:#fff; }
.milestone-node time,.milestone-node strong { display:block; }
.milestone-node time { color:#64748b; font-size:.78rem; margin-bottom:.3rem; }
.milestone-node.is-completed { border-color:#22a06b; }.milestone-node.is-completed .milestone-dot { background:#22a06b; border-color:#22a06b; }
.milestone-node.is-overdue { border-color:#dc2626; }.milestone-node.is-overdue .milestone-dot { border-color:#dc2626; background:#dc2626; }
.milestone-actions { display:flex; justify-content:center; gap:.25rem; margin-top:.55rem; }.milestone-actions form { margin:0; }
.milestone-modal { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:1rem; background:rgba(15,23,42,.55); }
.milestone-modal[hidden] { display:none; }.milestone-dialog { width:min(680px,100%); max-height:calc(100vh - 2rem); overflow:auto; }
.milestone-dialog .form-actions { border-top:0; }
.overview-project-status { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr); gap:18px; margin-top:18px; }
.milestone-timeline-compact { padding:.9rem .25rem; }.milestone-timeline-compact .milestone-node { min-width:120px; flex-basis:120px; font-size:.85rem; }
.task-status-summary { display:flex; align-items:center; justify-content:center; gap:1.5rem; }.task-status-summary p { margin:.35rem 0; }
.task-progress-donut { width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#22a06b 0 var(--task-done-angle),#dc2626 var(--task-done-angle) var(--task-overdue-angle),#cbd5e1 var(--task-overdue-angle));position:relative; }
.task-progress-donut::after { content:"";position:absolute;inset:13px;border-radius:50%;background:#fff; }.task-progress-donut strong { position:relative;z-index:1; }
@media (max-width:800px){.overview-project-status{grid-template-columns:1fr}.milestone-node{flex-basis:130px;min-width:130px}}
.project-expedition-group td{padding:9px 12px!important;border-bottom:1px solid var(--line);background:var(--surface2);color:var(--text)}
.project-expedition-group td strong{margin-right:10px;font:800 12px/1.3 Space Mono,monospace}
.project-expedition-group td span{color:var(--muted);font-size:12px;font-weight:700}
.project-expedition-group.is-level-d td{border-left:4px solid var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--surface))}
.project-expedition-group.is-level-d strong{color:var(--blue)}
.project-expedition-group.is-level-5 td{padding-left:24px!important;border-left:3px solid var(--green);background:color-mix(in srgb,var(--green) 7%,var(--surface))}
.project-expedition-group.is-level-6 td{padding:5px 12px 5px 42px!important;background:var(--surface)}
.project-expedition-group.is-level-6 strong{color:var(--green)}
