:root{color-scheme:light;--bg:#f3f6f7;--panel:#fff;--text:#183043;--muted:#607485;--line:#d8e1e6;--brand:#174b62;--brand-soft:#e5f0f4;--action:#0f766e;--action-soft:#e5f5f2;--green:#24834e;--orange:#b96c00;--blue:#2467ad;--red:#b83737;--shadow:0 8px 26px rgba(20,48,64,.07)}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;font-size:18px;background:var(--bg);color:var(--text);font-family:Arial,"Noto Sans Hebrew",sans-serif;line-height:1.55}.topbar{width:100%;max-width:none;height:72px;padding:0 clamp(16px,4vw,44px);display:flex;align-items:center;gap:18px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:800;color:var(--brand);text-decoration:none;margin-inline-end:auto}.brand small{font-size:14px;font-weight:400;color:var(--muted);display:block}.dev-user{font-size:14px;color:var(--muted)}select,input,button{font:inherit;color:inherit}.dev-user select{display:block;min-width:150px;margin-top:2px}.dev-banner{padding:6px 44px;background:#fff7df;color:#765500;font-size:14px;border-bottom:1px solid #ead9a8}.layout{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:calc(100vh - 101px)}#main-nav[hidden]+main{grid-column:1/-1}nav{background:var(--panel);border-inline-end:1px solid var(--line);padding:24px 14px;display:flex;flex-direction:column;gap:6px}nav a{padding:10px 12px;border-radius:8px;color:var(--text);text-decoration:none}nav a.current,nav a:hover{color:var(--brand);background:var(--brand-soft);font-weight:700}main{padding:clamp(20px,4vw,46px);max-width:1440px;width:100%;justify-self:center;outline:none}h1{font-size:clamp(26px,4vw,36px);margin:0 0 6px}h2{font-size:20px;margin:0}.heading{display:flex;align-items:flex-start;gap:16px;justify-content:space-between;margin-bottom:24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.project-card{display:block;color:inherit;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:20px;box-shadow:var(--shadow)}.project-card:hover{border-color:#9cb7c3;transform:translateY(-1px)}.meta,.muted{color:var(--muted);font-size:15px}.status{display:inline-flex;align-items:center;gap:7px;font-size:15px}.status::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green)}.status.preparation::before{background:var(--orange)}.status.completed::before{background:var(--blue)}.status.blocked::before{background:var(--red);border-radius:1px}.row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.amount{font-size:26px;font-weight:800;direction:ltr;text-align:right}.form{max-width:560px;display:grid;gap:15px}.form label{font-weight:700}.form input,.form select{display:block;width:100%;padding:10px;margin-top:5px;background:#fff;border:1px solid #aebdc5;border-radius:8px}.check{display:flex;gap:10px;align-items:center}.check input{width:auto;margin:0}.primary,button{border:1px solid var(--line);border-radius:9px;padding:10px 15px;background:#fff;cursor:pointer}.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}.back{color:var(--brand)}#toast{position:fixed;bottom:18px;left:18px;max-width:420px;padding:12px 16px;border-radius:10px;background:#183043;color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}.error{color:var(--red)}
@media(max-width:700px){.topbar{width:100%;max-width:none;margin:0;height:auto;padding:12px 16px;align-items:center;justify-content:space-between}.dev-banner{padding:7px 16px}.layout{grid-template-columns:1fr}nav{position:sticky;top:0;z-index:2;border:0;border-bottom:1px solid var(--line);padding:8px;flex-direction:row}nav a{flex:1;text-align:center}main{padding:20px 14px}.grid,.amounts{grid-template-columns:1fr}.heading{align-items:stretch;flex-direction:column}.row{align-items:flex-start}.dev-user select{min-width:125px}.amount{font-size:23px}}
details{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;color:var(--brand);font-weight:700}.compact-form{margin-top:14px}.compact{min-width:115px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button{padding:7px 10px;min-height:auto}
.form textarea{display:block;width:100%;padding:10px;margin-top:5px;background:#fff;border:1px solid #aebdc5;border-radius:8px;resize:vertical}.document{padding:14px 0;border-bottom:1px solid var(--line)}.document:last-of-type{border-bottom:0}.document p{white-space:pre-wrap}.lock{font-size:14px;color:var(--red);background:#fff0f0;border-radius:6px;padding:5px 8px}.change-requests{margin-top:22px;padding-top:18px;border-top:2px solid var(--line)}
.version{margin-top:10px;padding:10px;border-radius:8px;background:var(--bg)}.version p{margin:6px 0 0}
.demo-label,.shared{display:inline-block;font-size:13px;font-weight:400;color:var(--brand);background:var(--brand-soft);border-radius:6px;padding:2px 7px}.contact{padding:12px 0;border-bottom:1px solid var(--line)}.contact:last-child{border-bottom:0}.contact-details{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}.contact-action{padding:3px 7px;min-height:auto;color:var(--brand);border:0;background:transparent;text-decoration:none}dialog{width:min(420px,calc(100% - 28px));border:1px solid var(--line);border-radius:14px;padding:0;color:var(--text);box-shadow:0 20px 60px rgba(20,48,64,.25)}dialog::backdrop{background:rgba(16,35,48,.45)}.dialog-content{position:relative;padding:24px}.dialog-content h2{padding-inline-end:30px}.dialog-close{position:absolute;inset-inline-end:12px;top:10px;border:0;background:transparent;font-size:27px;padding:4px 9px}.dialog-actions{display:flex;gap:10px;margin-top:20px}.action-link{display:inline-block;text-decoration:none;padding:10px 15px;border-radius:9px}
.contact-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.escort-link{padding:5px 9px;min-height:auto;color:var(--brand);background:var(--brand-soft);border:0}.escort-panel{scroll-margin-top:70px}.escort-panel .heading{margin-bottom:12px}.escort-count,.escort-type{display:inline-block;font-size:14px;color:var(--brand);background:var(--brand-soft);border-radius:7px;padding:3px 8px}.escort-request{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.escort-request:last-of-type{border-bottom:0}.escort-request .escort-type{margin-inline-end:8px}.escort-request p{margin:7px 0}.escort-assigned{padding:10px;border-radius:9px;background:#eaf7ef;border:1px solid #b9dfc7}.waiting{padding:10px;border-radius:9px;background:#fff7df;color:#765500}.escort-claim{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px}.escort-claim label{font-size:15px}.escort-claim select,.escort-claim input{display:block;width:100%;padding:8px;margin-top:4px;border:1px solid #aebdc5;border-radius:8px;background:#fff}.escort-claim .meta{grid-column:1/-1}
@media(max-width:700px){.escort-request,.escort-claim{grid-template-columns:1fr}.escort-claim .meta{grid-column:auto}}
.project-tabs{position:sticky;top:0;z-index:3;display:flex;flex-direction:row;gap:7px;overflow-x:auto;padding:10px;margin:0 0 20px;background:rgba(243,246,247,.96);border:1px solid var(--line);border-radius:12px;backdrop-filter:blur(8px)}.project-tabs a{flex:0 0 auto;padding:9px 14px;border-radius:8px;color:var(--text);text-decoration:none;white-space:nowrap}.project-tabs a[aria-current="page"]{color:#fff;background:var(--brand);font-weight:700}.project-tab-content{min-height:320px}.project-status{display:flex;align-items:center;justify-content:space-between;gap:24px}.status-line{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:15px}.status-metrics{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:12px;min-width:min(100%,470px)}.status-metrics div{padding:10px;border-radius:10px;background:var(--bg)}.status-metrics strong,.status-metrics span{display:block}.status-metrics strong{font-size:20px}.status-metrics span{font-size:14px;color:var(--muted);margin-top:2px}
@media(max-width:700px){.project-tabs{top:57px;margin-inline:-6px}.project-status{align-items:stretch;flex-direction:column}.status-metrics{grid-template-columns:1fr;min-width:0}.overview-grid{display:flex;flex-direction:column}.overview-grid .panel:first-child{order:1}.overview-grid .panel:last-child{order:2}}
.create-action{border-top:0;margin-top:16px}.create-action>summary{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:9px;color:#fff;background:var(--action);list-style:none}.create-action>summary::-webkit-details-marker{display:none}.create-action>summary::before{content:"＋";font-size:19px;font-weight:400}.create-action[open]>summary{background:#0b5f59}.task-overview .heading{margin-bottom:14px}.view-all{color:var(--brand);font-weight:700}.task-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.task-stat{padding:12px;border-radius:10px;background:var(--bg);border-inline-start:4px solid var(--line)}.task-stat strong,.task-stat span{display:block}.task-stat strong{font-size:25px}.task-stat span{font-size:14px;color:var(--muted)}.task-stat.open{border-color:var(--blue)}.task-stat.in_progress{border-color:var(--green)}.task-stat.waiting{border-color:var(--orange)}.task-stat.completed{border-color:#7c8b96}.attention-list{margin-top:18px}.attention-list h3{font-size:16px;margin:0 0 4px}.task-glance{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.task-glance:last-child{border-bottom:0}.task-state{min-width:70px;text-align:center;font-size:13px;padding:3px 7px;border-radius:6px;background:var(--brand-soft);color:var(--brand)}.task-state.waiting{background:#fff1d5;color:#825100}.task-state.in_progress{background:#e8f6ed;color:#17603a}
@media(max-width:700px){.task-status-grid{grid-template-columns:repeat(2,1fr)}.task-overview .heading{flex-direction:row;align-items:center}}
.gantt-panel{padding:15px 18px;overflow-x:auto}.gantt-panel .heading{margin-bottom:6px}.gantt-panel .heading h2{font-size:18px}.gantt-scroll{min-width:560px}.gantt-axis,.gantt-row{display:grid;grid-template-columns:minmax(145px,24%) minmax(360px,1fr);gap:12px;align-items:center}.gantt-axis{padding-bottom:4px}.gantt-axis>div{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.gantt-row{padding:7px 0;border-top:1px solid var(--line)}.gantt-task strong,.gantt-task small{display:block}.gantt-task strong{font-size:15px;line-height:1.25}.gantt-task small{color:var(--muted);font-size:12px;direction:ltr;text-align:right}.gantt-visual{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px;align-items:center}.gantt-track{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1px;height:9px}.gantt-track span{border-radius:2px;background:#edf1f3}.gantt-track span.active{background:#b7d0da}.gantt-track span.completed{background:var(--action)}.gantt-percent{color:var(--brand);font-size:13px;direction:ltr}.task-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.task-progress-form{display:flex;align-items:end;gap:5px}.task-progress-form label span{display:block;color:var(--muted);font-size:13px}.task-progress-form input{width:72px;padding:6px;border:1px solid var(--line);border-radius:7px}.task-progress-form button{padding:6px 9px}
@media(max-width:900px){.gantt-scroll{min-width:620px}.task-row{flex-direction:column}.task-controls{width:100%;justify-content:space-between}}
.project-progress-panel{padding:17px 20px}.project-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.project-progress-heading h2{font-size:18px}.project-progress-heading>strong{font-size:27px;color:var(--action);direction:ltr}.project-progress-panel progress{display:block;width:100%;height:13px;margin:11px 0 6px;accent-color:var(--action)}.project-progress-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:14px}.gantt-task{display:flex;align-items:flex-start;gap:8px}.work-order{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:13px;font-weight:800}.gantt-description{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-visual{display:block}.gantt-track span.active{background:var(--brand)}.task-plan-form{display:flex;align-items:end;gap:5px}.task-plan-form label span{display:block;color:var(--muted);font-size:13px}.task-plan-form input{width:62px;padding:6px;border:1px solid var(--line);border-radius:7px}.task-plan-form button{padding:6px 9px}
@media(max-width:700px){.project-progress-meta{flex-direction:column;gap:2px}.task-plan-form{width:100%}}
.project-progress-panel{position:relative;overflow:hidden;border-color:#c9e2df;background:linear-gradient(135deg,#fff 0%,#f2fbf9 100%)}.project-progress-panel::before{content:"";position:absolute;inset-inline-start:0;top:0;width:5px;height:100%;background:var(--progress-color)}.progress-low{--progress-color:#e38b2c;--progress-start:#ffc65c;--progress-end:#e87924}.progress-medium{--progress-color:#2587c8;--progress-start:#55b9ef;--progress-end:#2479bd}.progress-high{--progress-color:#169463;--progress-start:#55d69a;--progress-end:#11885a}.project-progress-heading>strong{display:grid;place-items:center;min-width:72px;padding:5px 12px;border-radius:999px;color:#fff;background:var(--progress-color);box-shadow:0 5px 16px color-mix(in srgb,var(--progress-color) 24%,transparent)}.project-progress-track{position:relative;height:16px;margin:14px 0 9px;border-radius:999px;background:#dfe8eb;box-shadow:inset 0 1px 3px rgba(24,48,67,.16);overflow:hidden}.project-progress-track>span{display:block;width:var(--project-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--progress-start),var(--progress-end));box-shadow:0 2px 8px color-mix(in srgb,var(--progress-color) 38%,transparent);transition:width .45s ease}.project-progress-track>span::after{content:"";display:block;width:100%;height:45%;background:rgba(255,255,255,.24)}.project-progress-track .milestone{position:absolute;top:0;width:1px;height:100%;background:rgba(255,255,255,.7)}.milestone-25{left:25%}.milestone-50{left:50%}.milestone-75{left:75%}.project-progress-meta b{color:var(--progress-color);font-size:16px}.gantt-panel{border-color:#cedfe7;background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%)}.gantt-row{--gantt-color:#2579a9;--gantt-soft:#e6f2f8;margin:0 -7px;padding:8px 7px;border-top-color:#e6edf0;border-radius:7px}.gantt-row:hover{background:var(--gantt-soft)}.gantt-color-1{--gantt-color:#147d88;--gantt-soft:#e5f5f5}.gantt-color-2{--gantt-color:#3576c4;--gantt-soft:#eaf1fb}.gantt-color-3{--gantt-color:#8a62bd;--gantt-soft:#f1ebf8}.gantt-color-4{--gantt-color:#d4772b;--gantt-soft:#fff0e4}.gantt-row .work-order{color:#fff;background:var(--gantt-color);box-shadow:0 3px 8px color-mix(in srgb,var(--gantt-color) 25%,transparent)}.gantt-row .gantt-track span{background:#e8eef1}.gantt-row .gantt-track span.active{background:var(--gantt-color);box-shadow:0 2px 5px color-mix(in srgb,var(--gantt-color) 28%,transparent)}.gantt-row .gantt-track span.active:first-of-type{border-radius:5px 2px 2px 5px}.gantt-row .gantt-track span.active:last-of-type{border-radius:2px 5px 5px 2px}.gantt-axis>div{padding:0 3px;border-bottom:2px solid #d8e6ec}.gantt-panel .heading h2::before,.project-progress-heading h2::before{display:inline-block;margin-inline-end:7px}.gantt-panel .heading h2::before{content:"▦";color:#3576c4}.project-progress-heading h2::before{content:"↗";color:var(--progress-color)}
@media(prefers-reduced-motion:reduce){.project-progress-track>span{transition:none}}
.overview-progress-compact{padding:3px 3px 7px;margin:-3px 0 15px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.overview-progress-compact::before{display:none}.overview-progress-compact .project-progress-heading .meta,.overview-progress-compact .project-progress-heading>strong,.overview-progress-compact .project-progress-meta{display:none}.overview-progress-compact .project-progress-track{height:11px;margin:7px 0 0}
.progress-low{--progress-color:#63add1;--progress-start:#bfe6f7;--progress-end:#63add1}.progress-medium{--progress-color:#559ccc;--progress-start:#aedcf4;--progress-end:#559ccc}.progress-high{--progress-color:#478bc8;--progress-start:#9fcef0;--progress-end:#478bc8}.progress-complete{--progress-color:#3f80c5;--progress-start:#93c7ed;--progress-end:#3f80c5}.project-progress-track{height:25px;border:1px solid #bcd2df;background:#fff;box-shadow:inset 0 1px 3px rgba(23,75,98,.08);overflow:visible}.project-progress-value{position:absolute;z-index:1;top:50%;left:auto;transform:translate(50%,-50%);min-width:38px;padding:1px 6px;border:1px solid #8db9d0;border-radius:999px;color:#245f88;background:rgba(255,255,255,.95);box-shadow:0 1px 4px rgba(23,75,98,.12);font-size:12px;line-height:16px;text-align:center;direction:ltr}.overview-progress-compact .project-progress-track{height:20px;margin:7px 0 0}.overview-progress-compact .project-progress-value{line-height:14px;font-size:11px}.project-progress-meta b{color:#3f80c5}
.profile-nav{margin-top:auto;color:var(--muted)}.profile-card{max-width:640px}.profile-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line)}.profile-identity span{font-size:15px;color:var(--muted)}.profile-form{margin-top:20px}.profile-form fieldset{margin:0;padding:0;border:0}.profile-form legend{font-weight:700}.gender-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.gender-option{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.gender-option:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.gender-option input{width:auto;margin:0}.gender-option span,.gender-option strong,.gender-option small{display:block}.gender-option small{margin-top:2px;color:var(--muted);font-weight:400}.profile-save{justify-self:start}
.progress-p-0 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 0%,#fff 0%,#fff 100%)}.progress-p-0 .project-progress-value{right:4%}
.progress-p-1 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 1%,#fff 1%,#fff 100%)}.progress-p-1 .project-progress-value{right:4%}
.progress-p-2 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 2%,#fff 2%,#fff 100%)}.progress-p-2 .project-progress-value{right:4%}
.progress-p-3 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 3%,#fff 3%,#fff 100%)}.progress-p-3 .project-progress-value{right:4%}
.progress-p-4 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 4%,#fff 4%,#fff 100%)}.progress-p-4 .project-progress-value{right:4%}
.progress-p-5 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 5%,#fff 5%,#fff 100%)}.progress-p-5 .project-progress-value{right:5%}
.progress-p-6 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 6%,#fff 6%,#fff 100%)}.progress-p-6 .project-progress-value{right:6%}
.progress-p-7 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 7%,#fff 7%,#fff 100%)}.progress-p-7 .project-progress-value{right:7%}
.progress-p-8 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 8%,#fff 8%,#fff 100%)}.progress-p-8 .project-progress-value{right:8%}
.progress-p-9 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 9%,#fff 9%,#fff 100%)}.progress-p-9 .project-progress-value{right:9%}
.progress-p-10 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 10%,#fff 10%,#fff 100%)}.progress-p-10 .project-progress-value{right:10%}
.progress-p-11 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 11%,#fff 11%,#fff 100%)}.progress-p-11 .project-progress-value{right:11%}
.progress-p-12 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 12%,#fff 12%,#fff 100%)}.progress-p-12 .project-progress-value{right:12%}
.progress-p-13 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 13%,#fff 13%,#fff 100%)}.progress-p-13 .project-progress-value{right:13%}
.progress-p-14 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 14%,#fff 14%,#fff 100%)}.progress-p-14 .project-progress-value{right:14%}
.progress-p-15 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 15%,#fff 15%,#fff 100%)}.progress-p-15 .project-progress-value{right:15%}
.progress-p-16 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 16%,#fff 16%,#fff 100%)}.progress-p-16 .project-progress-value{right:16%}
.progress-p-17 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 17%,#fff 17%,#fff 100%)}.progress-p-17 .project-progress-value{right:17%}
.progress-p-18 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 18%,#fff 18%,#fff 100%)}.progress-p-18 .project-progress-value{right:18%}
.progress-p-19 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 19%,#fff 19%,#fff 100%)}.progress-p-19 .project-progress-value{right:19%}
.progress-p-20 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 20%,#fff 20%,#fff 100%)}.progress-p-20 .project-progress-value{right:20%}
.progress-p-21 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 21%,#fff 21%,#fff 100%)}.progress-p-21 .project-progress-value{right:21%}
.progress-p-22 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 22%,#fff 22%,#fff 100%)}.progress-p-22 .project-progress-value{right:22%}
.progress-p-23 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 23%,#fff 23%,#fff 100%)}.progress-p-23 .project-progress-value{right:23%}
.progress-p-24 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 24%,#fff 24%,#fff 100%)}.progress-p-24 .project-progress-value{right:24%}
.progress-p-25 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 25%,#fff 25%,#fff 100%)}.progress-p-25 .project-progress-value{right:25%}
.progress-p-26 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 26%,#fff 26%,#fff 100%)}.progress-p-26 .project-progress-value{right:26%}
.progress-p-27 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 27%,#fff 27%,#fff 100%)}.progress-p-27 .project-progress-value{right:27%}
.progress-p-28 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 28%,#fff 28%,#fff 100%)}.progress-p-28 .project-progress-value{right:28%}
.progress-p-29 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 29%,#fff 29%,#fff 100%)}.progress-p-29 .project-progress-value{right:29%}
.progress-p-30 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 30%,#fff 30%,#fff 100%)}.progress-p-30 .project-progress-value{right:30%}
.progress-p-31 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 31%,#fff 31%,#fff 100%)}.progress-p-31 .project-progress-value{right:31%}
.progress-p-32 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 32%,#fff 32%,#fff 100%)}.progress-p-32 .project-progress-value{right:32%}
.progress-p-33 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 33%,#fff 33%,#fff 100%)}.progress-p-33 .project-progress-value{right:33%}
.progress-p-34 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 34%,#fff 34%,#fff 100%)}.progress-p-34 .project-progress-value{right:34%}
.progress-p-35 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 35%,#fff 35%,#fff 100%)}.progress-p-35 .project-progress-value{right:35%}
.progress-p-36 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 36%,#fff 36%,#fff 100%)}.progress-p-36 .project-progress-value{right:36%}
.progress-p-37 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 37%,#fff 37%,#fff 100%)}.progress-p-37 .project-progress-value{right:37%}
.progress-p-38 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 38%,#fff 38%,#fff 100%)}.progress-p-38 .project-progress-value{right:38%}
.progress-p-39 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 39%,#fff 39%,#fff 100%)}.progress-p-39 .project-progress-value{right:39%}
.progress-p-40 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 40%,#fff 40%,#fff 100%)}.progress-p-40 .project-progress-value{right:40%}
.progress-p-41 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 41%,#fff 41%,#fff 100%)}.progress-p-41 .project-progress-value{right:41%}
.progress-p-42 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 42%,#fff 42%,#fff 100%)}.progress-p-42 .project-progress-value{right:42%}
.progress-p-43 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 43%,#fff 43%,#fff 100%)}.progress-p-43 .project-progress-value{right:43%}
.progress-p-44 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 44%,#fff 44%,#fff 100%)}.progress-p-44 .project-progress-value{right:44%}
.progress-p-45 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 45%,#fff 45%,#fff 100%)}.progress-p-45 .project-progress-value{right:45%}
.progress-p-46 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 46%,#fff 46%,#fff 100%)}.progress-p-46 .project-progress-value{right:46%}
.progress-p-47 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 47%,#fff 47%,#fff 100%)}.progress-p-47 .project-progress-value{right:47%}
.progress-p-48 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 48%,#fff 48%,#fff 100%)}.progress-p-48 .project-progress-value{right:48%}
.progress-p-49 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 49%,#fff 49%,#fff 100%)}.progress-p-49 .project-progress-value{right:49%}
.progress-p-50 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 50%,#fff 50%,#fff 100%)}.progress-p-50 .project-progress-value{right:50%}
.progress-p-51 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 51%,#fff 51%,#fff 100%)}.progress-p-51 .project-progress-value{right:51%}
.progress-p-52 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 52%,#fff 52%,#fff 100%)}.progress-p-52 .project-progress-value{right:52%}
.progress-p-53 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 53%,#fff 53%,#fff 100%)}.progress-p-53 .project-progress-value{right:53%}
.progress-p-54 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 54%,#fff 54%,#fff 100%)}.progress-p-54 .project-progress-value{right:54%}
.progress-p-55 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 55%,#fff 55%,#fff 100%)}.progress-p-55 .project-progress-value{right:55%}
.progress-p-56 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 56%,#fff 56%,#fff 100%)}.progress-p-56 .project-progress-value{right:56%}
.progress-p-57 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 57%,#fff 57%,#fff 100%)}.progress-p-57 .project-progress-value{right:57%}
.progress-p-58 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 58%,#fff 58%,#fff 100%)}.progress-p-58 .project-progress-value{right:58%}
.progress-p-59 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 59%,#fff 59%,#fff 100%)}.progress-p-59 .project-progress-value{right:59%}
.progress-p-60 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 60%,#fff 60%,#fff 100%)}.progress-p-60 .project-progress-value{right:60%}
.progress-p-61 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 61%,#fff 61%,#fff 100%)}.progress-p-61 .project-progress-value{right:61%}
.progress-p-62 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 62%,#fff 62%,#fff 100%)}.progress-p-62 .project-progress-value{right:62%}
.progress-p-63 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 63%,#fff 63%,#fff 100%)}.progress-p-63 .project-progress-value{right:63%}
.progress-p-64 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 64%,#fff 64%,#fff 100%)}.progress-p-64 .project-progress-value{right:64%}
.progress-p-65 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 65%,#fff 65%,#fff 100%)}.progress-p-65 .project-progress-value{right:65%}
.progress-p-66 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 66%,#fff 66%,#fff 100%)}.progress-p-66 .project-progress-value{right:66%}
.progress-p-67 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 67%,#fff 67%,#fff 100%)}.progress-p-67 .project-progress-value{right:67%}
.progress-p-68 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 68%,#fff 68%,#fff 100%)}.progress-p-68 .project-progress-value{right:68%}
.progress-p-69 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 69%,#fff 69%,#fff 100%)}.progress-p-69 .project-progress-value{right:69%}
.progress-p-70 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 70%,#fff 70%,#fff 100%)}.progress-p-70 .project-progress-value{right:70%}
.progress-p-71 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 71%,#fff 71%,#fff 100%)}.progress-p-71 .project-progress-value{right:71%}
.progress-p-72 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 72%,#fff 72%,#fff 100%)}.progress-p-72 .project-progress-value{right:72%}
.progress-p-73 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 73%,#fff 73%,#fff 100%)}.progress-p-73 .project-progress-value{right:73%}
.progress-p-74 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 74%,#fff 74%,#fff 100%)}.progress-p-74 .project-progress-value{right:74%}
.progress-p-75 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 75%,#fff 75%,#fff 100%)}.progress-p-75 .project-progress-value{right:75%}
.progress-p-76 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 76%,#fff 76%,#fff 100%)}.progress-p-76 .project-progress-value{right:76%}
.progress-p-77 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 77%,#fff 77%,#fff 100%)}.progress-p-77 .project-progress-value{right:77%}
.progress-p-78 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 78%,#fff 78%,#fff 100%)}.progress-p-78 .project-progress-value{right:78%}
.progress-p-79 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 79%,#fff 79%,#fff 100%)}.progress-p-79 .project-progress-value{right:79%}
.progress-p-80 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 80%,#fff 80%,#fff 100%)}.progress-p-80 .project-progress-value{right:80%}
.progress-p-81 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 81%,#fff 81%,#fff 100%)}.progress-p-81 .project-progress-value{right:81%}
.progress-p-82 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 82%,#fff 82%,#fff 100%)}.progress-p-82 .project-progress-value{right:82%}
.progress-p-83 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 83%,#fff 83%,#fff 100%)}.progress-p-83 .project-progress-value{right:83%}
.progress-p-84 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 84%,#fff 84%,#fff 100%)}.progress-p-84 .project-progress-value{right:84%}
.progress-p-85 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 85%,#fff 85%,#fff 100%)}.progress-p-85 .project-progress-value{right:85%}
.progress-p-86 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 86%,#fff 86%,#fff 100%)}.progress-p-86 .project-progress-value{right:86%}
.progress-p-87 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 87%,#fff 87%,#fff 100%)}.progress-p-87 .project-progress-value{right:87%}
.progress-p-88 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 88%,#fff 88%,#fff 100%)}.progress-p-88 .project-progress-value{right:88%}
.progress-p-89 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 89%,#fff 89%,#fff 100%)}.progress-p-89 .project-progress-value{right:89%}
.progress-p-90 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 90%,#fff 90%,#fff 100%)}.progress-p-90 .project-progress-value{right:90%}
.progress-p-91 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 91%,#fff 91%,#fff 100%)}.progress-p-91 .project-progress-value{right:91%}
.progress-p-92 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 92%,#fff 92%,#fff 100%)}.progress-p-92 .project-progress-value{right:92%}
.progress-p-93 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 93%,#fff 93%,#fff 100%)}.progress-p-93 .project-progress-value{right:93%}
.progress-p-94 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 94%,#fff 94%,#fff 100%)}.progress-p-94 .project-progress-value{right:94%}
.progress-p-95 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 95%,#fff 95%,#fff 100%)}.progress-p-95 .project-progress-value{right:95%}
.progress-p-96 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 96%,#fff 96%,#fff 100%)}.progress-p-96 .project-progress-value{right:96%}
.progress-p-97 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 97%,#fff 97%,#fff 100%)}.progress-p-97 .project-progress-value{right:96%}
.progress-p-98 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 98%,#fff 98%,#fff 100%)}.progress-p-98 .project-progress-value{right:96%}
.progress-p-99 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 99%,#fff 99%,#fff 100%)}.progress-p-99 .project-progress-value{right:96%}
.progress-p-100 .project-progress-track{background:linear-gradient(to left,var(--progress-start) 0%,var(--progress-end) 100%,#fff 100%,#fff 100%)}.progress-p-100 .project-progress-value{right:96%}
@media(max-width:700px){.profile-nav{margin-top:0}.gender-options{grid-template-columns:1fr}}
.auth-user{display:flex;align-items:center;gap:10px}.auth-identity{display:grid;line-height:1.2;text-align:start}.auth-identity strong{font-weight:800}.auth-identity small{color:var(--muted);font-size:14px}.auth-user button{padding:6px 10px}.login-card{width:min(460px,100%);margin:5vh auto}.login-intro{display:flex;align-items:center;gap:14px;margin-bottom:24px}.login-intro h1{margin:0}.login-intro p{margin:2px 0 0}.login-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--brand);color:#fff;font-size:27px;font-weight:800}.login-form{max-width:none}.login-separator{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px;margin:20px 0}.login-separator::before,.login-separator::after{content:"";height:1px;background:var(--line);flex:1}.google-login{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px;border:1px solid #aebdc5;border-radius:9px;color:var(--text);text-decoration:none;font-weight:700;background:#fff}.google-login span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#1a73e8;font-weight:800}.login-note{margin:18px 0 0}.login-message{padding:10px 12px;border-radius:8px;background:#fff7df;color:#765500}.login-card>.back{display:inline-block;margin-bottom:16px}
.team-panel{margin-bottom:16px}.team-list{display:flex;gap:8px;flex-wrap:wrap}.team-chip{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg)}.team-chip small{color:var(--muted)}.budget-version{padding:8px 0 18px;border-bottom:1px solid var(--line)}.budget-version:last-of-type{border-bottom:0}.budget-item-list{margin:0 0 8px;padding:4px 12px;background:var(--bg);border-radius:9px}.budget-item-list div{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid var(--line)}.budget-item-list div:last-child{border:0}.budget-item-list strong{direction:ltr}.budget-edit{margin-top:8px}.budget-editor{display:grid;gap:9px}.budget-editor-row{display:grid;grid-template-columns:minmax(150px,2fr) minmax(120px,1fr) auto;gap:8px;align-items:end;padding:10px;border-radius:9px;background:var(--bg)}.budget-editor-row label{font-size:15px}.budget-editor-row button{padding:9px;color:var(--red);background:#fff}.add-line-action{justify-self:start;color:#fff;background:var(--action);border-color:var(--action);font-weight:700}.budget-import-action{padding:14px;border:1px solid #b9ddd8;border-radius:11px;background:var(--action-soft)}.budget-import-form{max-width:760px}.budget-import-form input[type="file"]{padding:8px}.budget-import-form #budget-import-mapping[hidden]{display:none}.budget-import-preview{display:grid;gap:8px}.budget-import-summary{padding:10px;border-radius:8px;color:var(--brand);background:var(--brand-soft);font-weight:700}.budget-import-table{border:1px solid var(--line);border-radius:9px;overflow:hidden}.budget-import-row{display:grid;grid-template-columns:60px minmax(150px,1fr) 130px;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);font-weight:400}.budget-import-row:last-child{border-bottom:0}.budget-import-row input{width:auto;margin:0}.budget-import-row strong{direction:ltr;text-align:right}.budget-import-head{font-size:14px;font-weight:700;color:var(--muted);background:var(--bg)}.budget-import-row.invalid{color:var(--red);background:#fff8f8}
.budget-source-data{margin:14px 0;padding:14px;border:1px solid #bdd4de;border-radius:10px;background:#f7fbfc}.budget-source-data .heading{align-items:center;margin-bottom:10px}.budget-source-data h3{margin:0;font-size:17px}.budget-source-data a{color:var(--brand);font-weight:700}.budget-source-table{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.budget-source-row{display:grid;grid-template-columns:minmax(180px,1fr) 160px 120px;gap:12px;align-items:center;padding:9px 11px;border-bottom:1px solid var(--line)}.budget-source-row:last-child{border-bottom:0}.budget-source-row span:first-child strong,.budget-source-row span:first-child small{display:block}.budget-source-row small{color:var(--muted)}.budget-source-row>strong,.budget-source-row>span:nth-child(2){direction:ltr;text-align:right}.budget-source-row.total{background:var(--brand-soft);font-weight:700}.budget-source-data details{margin-top:10px}.budget-source-data ul{margin-bottom:0}
@media(max-width:700px){.budget-editor-row{grid-template-columns:1fr}.budget-editor-row button{justify-self:start}.budget-item-list div{align-items:flex-start}.budget-import-row{grid-template-columns:42px minmax(100px,1fr) 105px;padding:8px 6px}.budget-import-action{padding:10px}.budget-source-row{grid-template-columns:1fr auto}.budget-source-row>strong{grid-column:2}.budget-source-row>span:nth-child(2){grid-column:1/-1;text-align:right}.budget-source-data .heading{align-items:flex-start}}
.attachments-section{padding:4px 0 22px;margin-bottom:22px;border-bottom:2px solid var(--line)}.attachments-section h3,.text-documents h3{margin:0 0 10px}.attachment-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.attachment-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.attachment-actions button{padding:8px 12px}.attachment-actions .secondary{color:var(--muted);background:transparent}.attachment-row .shared{margin-inline-start:3px}.attachments-section input[type="file"]{padding:8px}.text-documents{padding-top:2px}.preview-dialog{width:min(1000px,calc(100% - 28px));height:min(82vh,760px)}.preview-dialog-content{position:relative;display:flex;flex-direction:column;height:100%;padding:22px}.preview-dialog-content h2{flex:0 0 auto;margin-inline-end:35px;overflow-wrap:anywhere}.attachment-preview-body{flex:1;min-height:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg)}.attachment-preview-body iframe,.attachment-preview-body img{width:100%;height:100%;border:0}.attachment-preview-body img{object-fit:contain}.preview-unavailable{max-width:480px;padding:28px;text-align:center}.preview-unavailable strong{font-size:22px}
@media(max-width:700px){.attachment-row{align-items:flex-start}.attachment-row .meta{overflow-wrap:anywhere}.attachment-actions{flex-direction:column;align-items:stretch}.preview-dialog{height:88vh}.preview-dialog-content{padding:16px}}
.contacts-workspace .heading{margin-bottom:16px}.add-contact-button{background:var(--action);border-color:var(--action)}.contact-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.contact-card{padding:15px;border:1px solid var(--line);border-radius:11px;background:#fff}.contact-card-main{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.card-edit{padding:5px 9px;font-size:14px}.invitation-state{font-size:13px;padding:3px 7px;border-radius:7px;color:#765500;background:#fff7df;white-space:nowrap}.invitation-state.accepted{color:#17603a;background:#e8f6ed}.invitation-state.expired,.invitation-state.revoked{color:var(--muted);background:var(--bg)}.contact-import-dialog{width:min(760px,calc(100% - 28px));max-height:90vh}.contact-import-content{position:relative;padding:24px;overflow:auto;max-height:88vh}.contact-source-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 8px}.contact-source-actions[hidden],.contact-edit-actions[hidden],.contact-picker-support[hidden]{display:none}.vcf-button{display:inline-flex;align-items:center;padding:10px 15px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.vcf-button input{position:absolute;width:1px;height:1px;opacity:0}.contact-review-form{margin-top:18px;max-width:none;padding-top:16px;border-top:1px solid var(--line)}.contact-review-form h3{margin:0}.form-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.access-summary{padding:11px;border-radius:9px;color:var(--brand);background:var(--brand-soft);font-size:15px}.contact-edit-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}.contact-edit-actions .danger{margin-inline-start:auto;color:#8a1f1f;border-color:#e1b7b7;background:#fff8f8}.invitation-dialog{width:min(560px,calc(100% - 28px))}.invitation-link{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);overflow-wrap:anywhere;font-size:14px}.invitation-landing{max-width:620px;margin:40px auto;text-align:center}.invitation-landing h1{margin-top:12px}
.contact-identifiers{display:grid;gap:7px;margin:12px 0;padding:10px;border-radius:9px;background:var(--bg)}.contact-identifier{display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-identifier span,.contact-identifier small,.contact-identifier strong{display:block}.contact-identifier small{color:var(--muted)}.copy-inline{padding:5px 9px;color:var(--brand);background:#fff;font-size:14px;white-space:nowrap}
@media(max-width:700px){.contacts-workspace .heading{gap:10px}.add-contact-button{width:100%}.contact-card-grid,.form-split{grid-template-columns:1fr}.contact-source-actions{display:grid}.contact-import-content{padding:18px}.contact-card-main{flex-direction:column}}
.project-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.project-title-line h1{margin-bottom:0}.project-name-edit{padding:5px 9px;color:var(--brand);font-size:14px}.project-name-form{display:flex;align-items:end;gap:9px;margin:8px 0}.project-name-form label{font-weight:700}.project-name-form input{display:block;width:min(420px,70vw);padding:8px;margin-top:4px;border:1px solid #aebdc5;border-radius:8px}.add-person-link{white-space:nowrap}
@media(max-width:700px){.project-name-form{display:grid}.project-name-form input{width:100%}.team-panel .heading{align-items:stretch}.add-person-link{text-align:center}}
.emphasis-panel{border-width:2px;box-shadow:0 10px 28px rgba(20,48,64,.1)}.emphasis-panel .heading{margin-bottom:14px}.safety-emphasis{border-color:#e7b756;background:linear-gradient(135deg,#fffdf7,#fff)}.project-highlights{border-color:#8fb8c8}.hazard-list{display:flex;gap:10px;flex-wrap:wrap}.hazard-card{display:flex;align-items:center;gap:9px;min-width:170px;padding:12px 14px;border:1px solid #e5c982;border-radius:11px;background:#fff8e7}.hazard-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#fff;font-size:24px}.emphasis-edit{margin-top:16px}.emphasis-edit>summary{display:inline-flex;padding:7px 10px;border-radius:8px;background:var(--brand-soft)}.emphasis-edit fieldset,.project-emphasis-fields{margin:0;padding:0;border:0}.emphasis-edit legend,.project-emphasis-fields legend{font-weight:700}.hazard-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:9px}.hazard-option{display:flex!important;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.hazard-option:has(input:checked){border-color:#d39b2a;background:#fff7df}.hazard-option input{width:auto!important;margin:0!important}.hazard-option span{font-size:22px}.project-highlights-text{min-height:48px;padding:12px 14px;border-radius:10px;background:var(--bg);white-space:pre-wrap}.project-emphasis-fields{padding-top:4px!important}
@media(max-width:700px){.hazard-picker{grid-template-columns:1fr}.hazard-card{width:100%}}
@media(min-width:701px) and (max-width:1180px){.topbar{height:auto;padding:12px 18px;align-items:flex-start}.dev-banner{padding:7px 18px}.layout{grid-template-columns:1fr}nav{position:sticky;top:0;z-index:4;border:0;border-bottom:1px solid var(--line);padding:8px;flex-direction:row;overflow-x:auto}nav a{flex:1 0 auto;text-align:center;white-space:nowrap}main{max-width:none;padding:24px 18px}.project-tabs{top:57px}.project-status{align-items:stretch;flex-direction:column}.status-metrics{min-width:0}.overview-grid{grid-template-columns:1fr}.contacts-workspace .heading{gap:10px}}
.project-progress-track{background:#fff!important;overflow:hidden}.project-progress-track::before{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;width:0;border-radius:999px;background:linear-gradient(to left,var(--progress-start),var(--progress-end));transition:width .45s ease}.project-progress-value{z-index:1;width:36px;min-width:0;padding:0;border:0;color:#fff;background:transparent;box-shadow:none;text-shadow:0 1px 2px rgba(25,75,105,.72);transform:none}
.project-progress-title{display:flex;align-items:baseline;gap:7px}.project-progress-title strong{color:var(--progress-color);font-size:19px;font-weight:900;direction:ltr}.overview-progress-compact .project-progress-title strong{font-size:17px}
.progress-p-0 .project-progress-track::before{width:0%}.progress-p-0 .project-progress-value{right:max(2px,calc(0% - 40px))}
.progress-p-1 .project-progress-track::before{width:1%}.progress-p-1 .project-progress-value{right:max(2px,calc(1% - 40px))}
.progress-p-2 .project-progress-track::before{width:2%}.progress-p-2 .project-progress-value{right:max(2px,calc(2% - 40px))}
.progress-p-3 .project-progress-track::before{width:3%}.progress-p-3 .project-progress-value{right:max(2px,calc(3% - 40px))}
.progress-p-4 .project-progress-track::before{width:4%}.progress-p-4 .project-progress-value{right:max(2px,calc(4% - 40px))}
.progress-p-5 .project-progress-track::before{width:5%}.progress-p-5 .project-progress-value{right:max(2px,calc(5% - 40px))}
.progress-p-6 .project-progress-track::before{width:6%}.progress-p-6 .project-progress-value{right:max(2px,calc(6% - 40px))}
.progress-p-7 .project-progress-track::before{width:7%}.progress-p-7 .project-progress-value{right:max(2px,calc(7% - 40px))}
.progress-p-8 .project-progress-track::before{width:8%}.progress-p-8 .project-progress-value{right:max(2px,calc(8% - 40px))}
.progress-p-9 .project-progress-track::before{width:9%}.progress-p-9 .project-progress-value{right:max(2px,calc(9% - 40px))}
.progress-p-10 .project-progress-track::before{width:10%}.progress-p-10 .project-progress-value{right:max(2px,calc(10% - 40px))}
.progress-p-11 .project-progress-track::before{width:11%}.progress-p-11 .project-progress-value{right:max(2px,calc(11% - 40px))}
.progress-p-12 .project-progress-track::before{width:12%}.progress-p-12 .project-progress-value{right:max(2px,calc(12% - 40px))}
.progress-p-13 .project-progress-track::before{width:13%}.progress-p-13 .project-progress-value{right:max(2px,calc(13% - 40px))}
.progress-p-14 .project-progress-track::before{width:14%}.progress-p-14 .project-progress-value{right:max(2px,calc(14% - 40px))}
.progress-p-15 .project-progress-track::before{width:15%}.progress-p-15 .project-progress-value{right:max(2px,calc(15% - 40px))}
.progress-p-16 .project-progress-track::before{width:16%}.progress-p-16 .project-progress-value{right:max(2px,calc(16% - 40px))}
.progress-p-17 .project-progress-track::before{width:17%}.progress-p-17 .project-progress-value{right:max(2px,calc(17% - 40px))}
.progress-p-18 .project-progress-track::before{width:18%}.progress-p-18 .project-progress-value{right:max(2px,calc(18% - 40px))}
.progress-p-19 .project-progress-track::before{width:19%}.progress-p-19 .project-progress-value{right:max(2px,calc(19% - 40px))}
.progress-p-20 .project-progress-track::before{width:20%}.progress-p-20 .project-progress-value{right:max(2px,calc(20% - 40px))}
.progress-p-21 .project-progress-track::before{width:21%}.progress-p-21 .project-progress-value{right:max(2px,calc(21% - 40px))}
.progress-p-22 .project-progress-track::before{width:22%}.progress-p-22 .project-progress-value{right:max(2px,calc(22% - 40px))}
.progress-p-23 .project-progress-track::before{width:23%}.progress-p-23 .project-progress-value{right:max(2px,calc(23% - 40px))}
.progress-p-24 .project-progress-track::before{width:24%}.progress-p-24 .project-progress-value{right:max(2px,calc(24% - 40px))}
.progress-p-25 .project-progress-track::before{width:25%}.progress-p-25 .project-progress-value{right:max(2px,calc(25% - 40px))}
.progress-p-26 .project-progress-track::before{width:26%}.progress-p-26 .project-progress-value{right:max(2px,calc(26% - 40px))}
.progress-p-27 .project-progress-track::before{width:27%}.progress-p-27 .project-progress-value{right:max(2px,calc(27% - 40px))}
.progress-p-28 .project-progress-track::before{width:28%}.progress-p-28 .project-progress-value{right:max(2px,calc(28% - 40px))}
.progress-p-29 .project-progress-track::before{width:29%}.progress-p-29 .project-progress-value{right:max(2px,calc(29% - 40px))}
.progress-p-30 .project-progress-track::before{width:30%}.progress-p-30 .project-progress-value{right:max(2px,calc(30% - 40px))}
.progress-p-31 .project-progress-track::before{width:31%}.progress-p-31 .project-progress-value{right:max(2px,calc(31% - 40px))}
.progress-p-32 .project-progress-track::before{width:32%}.progress-p-32 .project-progress-value{right:max(2px,calc(32% - 40px))}
.progress-p-33 .project-progress-track::before{width:33%}.progress-p-33 .project-progress-value{right:max(2px,calc(33% - 40px))}
.progress-p-34 .project-progress-track::before{width:34%}.progress-p-34 .project-progress-value{right:max(2px,calc(34% - 40px))}
.progress-p-35 .project-progress-track::before{width:35%}.progress-p-35 .project-progress-value{right:max(2px,calc(35% - 40px))}
.progress-p-36 .project-progress-track::before{width:36%}.progress-p-36 .project-progress-value{right:max(2px,calc(36% - 40px))}
.progress-p-37 .project-progress-track::before{width:37%}.progress-p-37 .project-progress-value{right:max(2px,calc(37% - 40px))}
.progress-p-38 .project-progress-track::before{width:38%}.progress-p-38 .project-progress-value{right:max(2px,calc(38% - 40px))}
.progress-p-39 .project-progress-track::before{width:39%}.progress-p-39 .project-progress-value{right:max(2px,calc(39% - 40px))}
.progress-p-40 .project-progress-track::before{width:40%}.progress-p-40 .project-progress-value{right:max(2px,calc(40% - 40px))}
.progress-p-41 .project-progress-track::before{width:41%}.progress-p-41 .project-progress-value{right:max(2px,calc(41% - 40px))}
.progress-p-42 .project-progress-track::before{width:42%}.progress-p-42 .project-progress-value{right:max(2px,calc(42% - 40px))}
.progress-p-43 .project-progress-track::before{width:43%}.progress-p-43 .project-progress-value{right:max(2px,calc(43% - 40px))}
.progress-p-44 .project-progress-track::before{width:44%}.progress-p-44 .project-progress-value{right:max(2px,calc(44% - 40px))}
.progress-p-45 .project-progress-track::before{width:45%}.progress-p-45 .project-progress-value{right:max(2px,calc(45% - 40px))}
.progress-p-46 .project-progress-track::before{width:46%}.progress-p-46 .project-progress-value{right:max(2px,calc(46% - 40px))}
.progress-p-47 .project-progress-track::before{width:47%}.progress-p-47 .project-progress-value{right:max(2px,calc(47% - 40px))}
.progress-p-48 .project-progress-track::before{width:48%}.progress-p-48 .project-progress-value{right:max(2px,calc(48% - 40px))}
.progress-p-49 .project-progress-track::before{width:49%}.progress-p-49 .project-progress-value{right:max(2px,calc(49% - 40px))}
.progress-p-50 .project-progress-track::before{width:50%}.progress-p-50 .project-progress-value{right:max(2px,calc(50% - 40px))}
.progress-p-51 .project-progress-track::before{width:51%}.progress-p-51 .project-progress-value{right:max(2px,calc(51% - 40px))}
.progress-p-52 .project-progress-track::before{width:52%}.progress-p-52 .project-progress-value{right:max(2px,calc(52% - 40px))}
.progress-p-53 .project-progress-track::before{width:53%}.progress-p-53 .project-progress-value{right:max(2px,calc(53% - 40px))}
.progress-p-54 .project-progress-track::before{width:54%}.progress-p-54 .project-progress-value{right:max(2px,calc(54% - 40px))}
.progress-p-55 .project-progress-track::before{width:55%}.progress-p-55 .project-progress-value{right:max(2px,calc(55% - 40px))}
.progress-p-56 .project-progress-track::before{width:56%}.progress-p-56 .project-progress-value{right:max(2px,calc(56% - 40px))}
.progress-p-57 .project-progress-track::before{width:57%}.progress-p-57 .project-progress-value{right:max(2px,calc(57% - 40px))}
.progress-p-58 .project-progress-track::before{width:58%}.progress-p-58 .project-progress-value{right:max(2px,calc(58% - 40px))}
.progress-p-59 .project-progress-track::before{width:59%}.progress-p-59 .project-progress-value{right:max(2px,calc(59% - 40px))}
.progress-p-60 .project-progress-track::before{width:60%}.progress-p-60 .project-progress-value{right:max(2px,calc(60% - 40px))}
.progress-p-61 .project-progress-track::before{width:61%}.progress-p-61 .project-progress-value{right:max(2px,calc(61% - 40px))}
.progress-p-62 .project-progress-track::before{width:62%}.progress-p-62 .project-progress-value{right:max(2px,calc(62% - 40px))}
.progress-p-63 .project-progress-track::before{width:63%}.progress-p-63 .project-progress-value{right:max(2px,calc(63% - 40px))}
.progress-p-64 .project-progress-track::before{width:64%}.progress-p-64 .project-progress-value{right:max(2px,calc(64% - 40px))}
.progress-p-65 .project-progress-track::before{width:65%}.progress-p-65 .project-progress-value{right:max(2px,calc(65% - 40px))}
.progress-p-66 .project-progress-track::before{width:66%}.progress-p-66 .project-progress-value{right:max(2px,calc(66% - 40px))}
.progress-p-67 .project-progress-track::before{width:67%}.progress-p-67 .project-progress-value{right:max(2px,calc(67% - 40px))}
.progress-p-68 .project-progress-track::before{width:68%}.progress-p-68 .project-progress-value{right:max(2px,calc(68% - 40px))}
.progress-p-69 .project-progress-track::before{width:69%}.progress-p-69 .project-progress-value{right:max(2px,calc(69% - 40px))}
.progress-p-70 .project-progress-track::before{width:70%}.progress-p-70 .project-progress-value{right:max(2px,calc(70% - 40px))}
.progress-p-71 .project-progress-track::before{width:71%}.progress-p-71 .project-progress-value{right:max(2px,calc(71% - 40px))}
.progress-p-72 .project-progress-track::before{width:72%}.progress-p-72 .project-progress-value{right:max(2px,calc(72% - 40px))}
.progress-p-73 .project-progress-track::before{width:73%}.progress-p-73 .project-progress-value{right:max(2px,calc(73% - 40px))}
.progress-p-74 .project-progress-track::before{width:74%}.progress-p-74 .project-progress-value{right:max(2px,calc(74% - 40px))}
.progress-p-75 .project-progress-track::before{width:75%}.progress-p-75 .project-progress-value{right:max(2px,calc(75% - 40px))}
.progress-p-76 .project-progress-track::before{width:76%}.progress-p-76 .project-progress-value{right:max(2px,calc(76% - 40px))}
.progress-p-77 .project-progress-track::before{width:77%}.progress-p-77 .project-progress-value{right:max(2px,calc(77% - 40px))}
.progress-p-78 .project-progress-track::before{width:78%}.progress-p-78 .project-progress-value{right:max(2px,calc(78% - 40px))}
.progress-p-79 .project-progress-track::before{width:79%}.progress-p-79 .project-progress-value{right:max(2px,calc(79% - 40px))}
.progress-p-80 .project-progress-track::before{width:80%}.progress-p-80 .project-progress-value{right:max(2px,calc(80% - 40px))}
.progress-p-81 .project-progress-track::before{width:81%}.progress-p-81 .project-progress-value{right:max(2px,calc(81% - 40px))}
.progress-p-82 .project-progress-track::before{width:82%}.progress-p-82 .project-progress-value{right:max(2px,calc(82% - 40px))}
.progress-p-83 .project-progress-track::before{width:83%}.progress-p-83 .project-progress-value{right:max(2px,calc(83% - 40px))}
.progress-p-84 .project-progress-track::before{width:84%}.progress-p-84 .project-progress-value{right:max(2px,calc(84% - 40px))}
.progress-p-85 .project-progress-track::before{width:85%}.progress-p-85 .project-progress-value{right:max(2px,calc(85% - 40px))}
.progress-p-86 .project-progress-track::before{width:86%}.progress-p-86 .project-progress-value{right:max(2px,calc(86% - 40px))}
.progress-p-87 .project-progress-track::before{width:87%}.progress-p-87 .project-progress-value{right:max(2px,calc(87% - 40px))}
.progress-p-88 .project-progress-track::before{width:88%}.progress-p-88 .project-progress-value{right:max(2px,calc(88% - 40px))}
.progress-p-89 .project-progress-track::before{width:89%}.progress-p-89 .project-progress-value{right:max(2px,calc(89% - 40px))}
.progress-p-90 .project-progress-track::before{width:90%}.progress-p-90 .project-progress-value{right:max(2px,calc(90% - 40px))}
.progress-p-91 .project-progress-track::before{width:91%}.progress-p-91 .project-progress-value{right:max(2px,calc(91% - 40px))}
.progress-p-92 .project-progress-track::before{width:92%}.progress-p-92 .project-progress-value{right:max(2px,calc(92% - 40px))}
.progress-p-93 .project-progress-track::before{width:93%}.progress-p-93 .project-progress-value{right:max(2px,calc(93% - 40px))}
.progress-p-94 .project-progress-track::before{width:94%}.progress-p-94 .project-progress-value{right:max(2px,calc(94% - 40px))}
.progress-p-95 .project-progress-track::before{width:95%}.progress-p-95 .project-progress-value{right:max(2px,calc(95% - 40px))}
.progress-p-96 .project-progress-track::before{width:96%}.progress-p-96 .project-progress-value{right:max(2px,calc(96% - 40px))}
.progress-p-97 .project-progress-track::before{width:97%}.progress-p-97 .project-progress-value{right:max(2px,calc(97% - 40px))}
.progress-p-98 .project-progress-track::before{width:98%}.progress-p-98 .project-progress-value{right:max(2px,calc(98% - 40px))}
.progress-p-99 .project-progress-track::before{width:99%}.progress-p-99 .project-progress-value{right:max(2px,calc(99% - 40px))}
.progress-p-100 .project-progress-track::before{width:100%}.progress-p-100 .project-progress-value{right:max(2px,calc(100% - 40px))}
.task-controls{align-items:flex-end}.task-controls>.compact,.task-plan-form input,.task-plan-form button{height:36px}.task-controls>.compact{padding-block:0}.task-plan-form input,.task-plan-form button{margin-bottom:0}
.task-controls>select.compact{-webkit-appearance:none;appearance:none;padding-inline:10px 30px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23607485' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 11px center;background-size:10px 7px}
@media(max-width:700px){.topbar{flex-wrap:wrap;gap:10px 12px}.brand{flex:1 1 190px;min-width:0;margin-inline-end:0}.auth-user{margin-inline-start:auto}.auth-identity{min-width:0}.auth-identity strong,.auth-identity small{white-space:nowrap}}
.task-edit-card{margin:0;border:0;border-bottom:1px solid var(--line);padding:0}.task-edit-card:last-of-type{border-bottom:0}.task-edit-card>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 4px;color:var(--text);list-style:none}.task-edit-card>summary::-webkit-details-marker{display:none}.task-edit-card>summary::after{content:"‹";flex:0 0 auto;color:var(--brand);font-size:25px;line-height:1;transform:rotate(0);transition:transform .18s}.task-edit-card[open]>summary::after{transform:rotate(-90deg)}.task-edit-card>summary:hover{color:var(--brand);background:var(--brand-soft);border-radius:9px}.task-summary-main{flex:1;min-width:0}.task-summary-main strong,.task-summary-main .meta{display:block}.task-summary-status{display:grid;justify-items:center;gap:2px;flex:0 0 auto;color:var(--brand);font-size:14px}.task-summary-status small{font-size:12px;color:var(--muted);font-weight:400}.task-edit-form{max-width:none;margin:0 4px 16px;padding:18px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}.task-edit-actions{display:flex;gap:8px;justify-content:flex-start}
@media(max-width:700px){body{overflow-x:hidden}.topbar{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto;width:100vw!important;max-width:100vw!important;min-width:100vw;margin:0!important;padding:12px max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left));gap:12px;background:var(--panel)}.brand{min-width:0;margin:0;justify-self:end;align-self:center}.auth-user{min-width:0;margin:0;justify-self:start;align-self:center}.auth-identity{min-width:0}.auth-identity strong,.auth-identity small{white-space:nowrap}.task-edit-card>summary{gap:8px;padding:14px 2px}.task-summary-status{font-size:13px}.task-edit-card>summary::after{font-size:21px}.task-edit-form{margin-inline:0;padding:14px}.task-edit-actions{display:grid;grid-template-columns:1fr 1fr}.task-edit-actions button{width:100%}}
@media(max-width:700px){.topbar{grid-template-columns:1fr!important;grid-template-rows:auto auto;padding-top:10px;padding-bottom:8px;gap:6px}.brand{grid-column:1;justify-self:stretch;text-align:right;white-space:nowrap;font-size:22px;line-height:1.18}.brand small{margin-top:3px;white-space:nowrap}.auth-user{grid-column:1;justify-self:stretch;justify-content:flex-end;align-self:end;margin-top:0}.layout{display:block;min-height:calc(100vh - 101px)}#main-nav{height:auto;min-height:0;align-items:center;align-content:center}#main-nav a{align-self:center}}

/* Invitation details remain separate in RTL, including mixed Hebrew/Latin names. */
.invitation-landing{width:100%;max-width:620px;margin:clamp(12px,4vh,40px) auto;padding:clamp(20px,4vw,36px);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.invitation-landing .invitation-state{align-self:center;white-space:normal;line-height:1.5}
.invitation-landing h1{margin:0;font-size:clamp(25px,4vw,34px);line-height:1.35;overflow-wrap:anywhere}
.invitation-recipient{margin:0;color:var(--muted);overflow-wrap:anywhere}
.invitation-project{align-self:stretch;display:grid;gap:10px;padding:18px;background:var(--bg);border-radius:10px;min-width:0}
.invitation-project-name{font-size:21px;line-height:1.45;overflow-wrap:anywhere}
.invitation-detail{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px;font-size:16px;line-height:1.6;min-width:0}
.invitation-detail bdi{overflow-wrap:anywhere;min-width:0}
.invitation-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:400px}
.invitation-instructions{margin:0 0 4px;line-height:1.7;font-size:16px}
.invitation-actions .primary,.invitation-actions .google-login{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin:0;width:100%;line-height:1.5;white-space:normal}
@media(max-width:700px){.invitation-landing{margin:12px auto}.invitation-project-name{font-size:19px}}

.notification-item{display:flex;align-items:center;gap:12px}.notification-main{flex:1;min-width:0}.notification-main a{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.notification-actions{display:flex;gap:4px;flex-shrink:0}.update-icon{width:36px;height:36px;padding:8px;border:0;background:transparent;color:#557080;border-radius:8px}.update-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.update-icon:hover{background:#edf3f5}.update-icon:disabled{opacity:.45}.update-dot{width:7px;height:7px;background:#16799c;border-radius:50%;flex-shrink:0}.is-read strong{font-weight:400}.update-context{border-inline-start:3px solid #16799c}.update-context p{margin:8px 0}

/* Compact contact groups on desktop; retain the phone card layout. */
@media(min-width:701px){
  .contacts-workspace .heading{margin-bottom:10px}
  .contacts-workspace .contact-card-grid{gap:8px;align-items:start;align-content:start;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
  .contacts-workspace .contact-card-grid>h3{margin:6px 0 0;font-size:16px;line-height:1.4;padding-bottom:4px;border-bottom:1px solid var(--line)}
  .contacts-workspace .contact-card-grid>h3:first-child{margin-top:0}
  .contacts-workspace .contact-card{padding:11px 12px}
  .contacts-workspace .contact-card-main{gap:8px}
  .contacts-workspace .contact-details{gap:4px;margin:4px 0}
}

.contact-card-grid>.contact-category-heading{grid-column:1 / -1}

.projects-create-action{margin:0 0 18px}.create-project-link{display:inline-flex;align-items:center;min-height:40px;padding:7px 12px;font-size:15px;text-decoration:none}.create-project-link:hover{filter:brightness(.94)}

.project-list-card{min-width:0}.project-list-card .project-card{box-shadow:none}.project-card-actions{display:flex;gap:8px;justify-content:flex-end;padding:8px 2px}.project-card-actions button,.project-list-filters button{font-size:14px;padding:6px 10px}.project-delete{color:#8a1f1f;border-color:#e1b7b7;background:#fff8f8}.project-list-filters{display:flex;gap:8px;margin-bottom:16px}.project-list-filters [aria-pressed="true"]{background:var(--brand-soft);color:var(--brand);font-weight:700}.project-lifecycle-dialog{width:min(480px,calc(100% - 28px))}.project-lifecycle-dialog p{overflow-wrap:anywhere}

/* Keep the project identity close to its navigation on all screen sizes. */
main:has(>.project-header){padding-top:18px}
.project-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.project-header-main{min-width:0}.project-header .project-title-line{flex-wrap:nowrap;gap:6px}.project-header h1{font-size:clamp(23px,3vw,30px);line-height:1.25;overflow-wrap:anywhere}
.project-header .project-name-edit{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;flex:0 0 32px;padding:6px;border:0;background:transparent;border-radius:7px}
.project-name-edit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.project-name-edit:hover{background:var(--brand-soft)}
.project-location{margin-top:3px}.project-location:empty{display:none}.project-header>.status{flex-shrink:0}
.project-header+.project-tabs{margin-bottom:12px;padding:7px;gap:5px}.project-header+.project-tabs a{padding:7px 12px}
.project-intake-date{font-size:13px;color:var(--muted);margin:0 0 8px}
@media(max-width:700px){main:has(>.project-header){padding-top:12px}.project-header{gap:8px;margin-bottom:10px}.project-header h1{font-size:23px}.project-header+.project-tabs{margin-bottom:10px}}

.activity-more{font-size:14px;padding:6px 12px;margin-top:10px;color:var(--brand);background:var(--brand-soft);border-color:transparent}

.pdf-preview-content{width:100%;height:100%;display:flex;flex-direction:column;min-height:0;gap:8px;padding:8px}.pdf-render-host{flex:1;min-height:0;overflow:auto;width:100%}.pdf-viewer{width:100%}.pdf-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--bg);padding:6px;font-size:14px}.pdf-toolbar button{font-size:14px;padding:6px 10px}.pdf-page{padding:6px;display:flex;justify-content:center}.pdf-page canvas{display:block;width:100%;height:auto;max-width:100%;background:#fff}.pdf-open-original{flex-shrink:0;text-align:center;font-size:14px;color:var(--brand)}.attachment-row>div:first-child{min-width:0}.attachment-row strong{overflow-wrap:anywhere}

.expense-invoice{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px;font-size:14px}.expense-invoice button{font-size:13px;padding:5px 8px}

.sheet-budget-buckets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.sheet-budget-card{padding:12px;border:1px solid var(--line);border-radius:9px;font-size:15px}.sheet-budget-card h3{margin:0 0 6px}.sheet-budget-balance{font-size:18px;border-top:1px solid var(--line);padding-top:10px}@media(max-width:700px){.sheet-budget-buckets{grid-template-columns:1fr}}

.absence-reminders {margin:8px 0 14px;font-size:.88rem;}
.absence-row {display:flex;align-items:center;gap:8px;justify-content:space-between;padding:5px 0;}
.absence-row > span:first-child {overflow-wrap:anywhere;}
.absence-actions {display:flex;flex-shrink:0;gap:2px;}
.absence-icon {border:0;background:transparent;padding:6px;min-width:32px;min-height:32px;line-height:1;}
.absence-add {font-size:.8rem;padding:5px 8px;margin-top:4px;}
.absence-dialog {width:min(460px,calc(100vw - 28px));max-height:90dvh;overflow:auto;}
.absence-future {border-top:1px solid #dbe3e8;margin-top:16px;padding-top:8px;font-size:.85rem;}

/* Approved shift-board overview: scoped to Overview; existing tabs and forms remain functional. */
.shift-header{background:#006c78;color:#fff;padding:22px 24px;border-radius:12px 12px 22px 22px;margin-bottom:12px;position:relative;overflow:hidden;isolation:isolate}
.shift-header::after{content:"";position:absolute;z-index:-1;width:150px;height:150px;border:22px solid #ffffff12;border-radius:50%;left:100px;top:-105px;pointer-events:none}
.shift-header h1{font-size:clamp(26px,3vw,36px);font-weight:800}.shift-header .project-location{color:#e1f3f2}.shift-header .project-name-edit{color:#fff}.shift-header .project-name-edit:hover{background:#ffffff20}
.shift-header>.status{background:#fff;color:#193a45;padding:7px 11px;border-radius:20px}.shift-header .project-name-form{background:#fff;color:var(--text);padding:12px;border-radius:9px}
.shift-header+.project-tabs{background:#fff;border:0;box-shadow:0 2px 0 #d9e4e5}.shift-header+.project-tabs a[aria-current="page"]{background:#006c78}
.shift-overview{--shift-teal:#006c78;--shift-orange:#ed9244;--shift-purple:#6264b4}
.shift-progress{display:grid;grid-template-columns:minmax(150px,.6fr) 1.8fr;gap:24px;align-items:center;background:#fff;padding:22px;border-radius:14px;margin-bottom:14px;box-shadow:0 3px 0 #dbe3e3}
.shift-progress-number>strong{font-size:clamp(44px,5vw,66px);font-weight:800;color:#006c78;line-height:1;font-variant-numeric:tabular-nums}.shift-progress-number>strong>span{font-size:.43em}.shift-progress-number h2{font-size:16px;margin:7px 0 0}
.shift-progress-counts{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.shift-progress-counts>span{color:#536776}.shift-progress .project-progress-track{height:22px;background:#e1e9e7!important;border:0;margin:0 0 9px;border-radius:5px;overflow:hidden}.shift-progress .project-progress-track::before{height:100%;border-radius:5px;background:linear-gradient(90deg,#49b998,#006c78)}
.shift-overview .absence-reminders{padding:11px 14px;border-radius:9px;background:#d8eafb;border-inline-start:6px solid #2672ae;margin:0 0 14px;color:#173a53}.shift-overview .absence-add{background:#fff;border:0;color:#175889}.shift-overview .absence-row{font-size:14px}.shift-overview .absence-icon{color:#175889}
.shift-overview .emphasis-panel{box-shadow:none;border:0;margin-bottom:14px;padding:18px}.shift-overview .safety-emphasis{background:#ffe365;border-inline-start:6px solid #e49c00;color:#30280d;position:relative}.shift-overview .safety-emphasis::after{content:"";position:absolute;bottom:0;left:0;right:0;height:5px;background:repeating-linear-gradient(135deg,#30280d 0 9px,#ffe365 9px 18px);border-radius:0 0 8px 8px}.shift-overview .safety-emphasis .meta{color:#665015}.shift-overview .safety-emphasis h2{font-size:21px}.shift-overview .hazard-card{background:#fff5ba;border:0;border-radius:7px;font-size:17px}.shift-overview .hazard-icon{background:#fff9d8}.shift-overview .safety-emphasis .emphasis-edit>summary{background:#fff5ba;color:#30280d}.shift-overview .safety-emphasis .form{background:#fff;color:var(--text);padding:12px;border-radius:8px}
.shift-overview .project-highlights{background:#fff0dd;border-inline-start:5px solid #ed9244}.shift-overview .project-highlights .heading{margin-bottom:8px}.shift-overview .project-highlights-text{background:transparent;padding:0;min-height:0}.shift-overview .project-highlights .emphasis-edit{margin-top:10px}.shift-overview .project-highlights .emphasis-edit>summary{background:#ffdfb8}
.shift-summary{margin:20px 0}.shift-summary>h2{font-size:17px;margin:0 0 10px}.shift-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.shift-stat{display:flex;flex-direction:column;align-items:flex-start;text-align:right;gap:3px;padding:16px;border:0;border-bottom:5px solid #ed9244;border-radius:10px;color:#18343d;background:#fff0dd;text-decoration:none;font-family:inherit;min-width:0}.shift-stat strong{font-size:40px;line-height:1.15;font-variant-numeric:tabular-nums}.shift-stat span{font-weight:700;font-size:15px}.shift-stat small{font-size:13px;margin-top:7px;color:#31525b}.shift-escort{background:#d6eeee;border-bottom-color:#006c78}.shift-updates{background:#e1e3fa;border-bottom-color:#6264b4}.shift-stat:hover{filter:brightness(.97)}
.shift-overview .task-overview{border:0;box-shadow:0 3px 0 #dbe3e3}.shift-overview .task-status-grid{gap:8px}.shift-overview .task-stat{border:0;background:#fff0dd}.shift-overview .task-stat.in_progress{background:#d6eeee}.shift-overview .task-stat.waiting{background:#ffe0db}.shift-overview .task-stat.completed{background:#d9efdf}.shift-overview .task-glance{background:#edf2f0;border:0;border-inline-start:4px solid #ed9244;border-radius:7px;padding:12px;gap:12px}.shift-overview .task-glance>div{flex:1;min-width:0;overflow-wrap:anywhere}.task-glance-open{font-size:13px;white-space:nowrap;padding:7px;color:#006c78}.shift-overview .task-state{font-weight:700}.shift-overview .view-all{color:#006c78}.shift-overview .overview-grid>.panel{border:0;box-shadow:0 3px 0 #dbe3e3}.shift-overview .activity-entries>.row{background:#edf2f4;padding:11px 12px;border:0;border-inline-start:3px solid #98b9c4;border-radius:5px;margin-bottom:8px}
#shift-escort,#shift-activity{scroll-margin-top:90px}
@media(max-width:700px){.shift-header{padding:18px 14px;gap:9px}.shift-header h1{font-size:25px}.shift-header>.status{font-size:12px;padding:6px 9px}.shift-progress{grid-template-columns:minmax(90px,.7fr) 1.5fr;gap:12px;padding:16px}.shift-progress-number>strong{font-size:45px}.shift-progress-number h2{font-size:14px}.shift-progress-detail .meta{font-size:12px}.shift-progress .project-progress-track{height:18px}.shift-summary-grid{gap:7px}.shift-stat{padding:12px 9px}.shift-stat strong{font-size:32px}.shift-stat span{font-size:13px}.shift-stat small{font-size:12px;overflow-wrap:anywhere}.shift-overview .safety-emphasis{padding:15px}.shift-overview .safety-emphasis h2{font-size:19px}.shift-overview .hazard-card{min-width:0;padding:10px;font-size:15px}.shift-overview .task-glance{flex-wrap:wrap}.shift-overview .task-glance-open{margin-inline-start:auto}.shift-overview .absence-row{align-items:flex-start}.shift-overview .absence-reminders{padding:10px}.shift-overview .absence-actions{gap:0}}
@media(pointer:coarse){.shift-stat{min-height:100px}.shift-overview .task-glance-open,.shift-overview .absence-icon{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.shift-overview .absence-add{min-height:44px}}
.shift-overview .safety-emphasis:not(.has-hazards){background:#fffbea;border-inline-start-color:#dfd8b2}.shift-overview .safety-emphasis:not(.has-hazards)::after{display:none}.shift-overview .absence-reminders:not(:has(.absence-row)){background:transparent;border:0;padding:0}
.emphasis-edit>summary.emphasis-edit-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:30px;padding:6px;border:0;border-radius:5px;background:transparent;color:inherit;list-style:none}
.emphasis-edit>summary.emphasis-edit-icon::-webkit-details-marker{display:none}
.emphasis-edit>summary.emphasis-edit-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.shift-overview .emphasis-edit>summary.emphasis-edit-icon{background:transparent;color:inherit}
.emphasis-edit>summary.emphasis-edit-icon:hover{background:#0000000b}
@media(pointer:coarse){.emphasis-edit>summary.emphasis-edit-icon{width:44px;height:44px;min-height:44px}}
/* Keep highlight editing in the heading corner; closed editors consume no footer space. */
.emphasis-panel{position:relative;height:auto;min-height:0}
.emphasis-panel .heading{padding-inline-end:42px}
.emphasis-panel .emphasis-edit{margin-top:0}
.emphasis-panel .emphasis-edit>summary.emphasis-edit-icon{position:absolute;top:15px;left:15px}
.emphasis-panel .emphasis-edit[open]{margin-top:12px}
.emphasis-panel .project-highlights-text{min-height:0}
.shift-overview .emphasis-panel{padding-bottom:16px}
.shift-overview .project-highlights .emphasis-edit{margin-top:0}
.shift-overview .project-highlights .emphasis-edit[open]{margin-top:12px}
.shift-overview .emphasis-panel .emphasis-edit>summary.emphasis-edit-icon{top:12px;left:12px}
.emphasis-panel .emphasis-edit:not([open]){border-top:0;padding-top:0}
@media(max-width:700px){.shift-overview .emphasis-panel{padding-bottom:14px}.emphasis-panel .emphasis-edit>summary.emphasis-edit-icon{top:10px;left:10px}}
/* Shared industrial design across project workspaces and account pages. */
:root{--brand:#006c78;--brand-soft:#d6eeee;--action:#006c78;--bg:#f0f3f2}
.topbar{border-bottom:4px solid #ffd44a}.topbar .brand{color:#183440}
.panel{border-color:#dbe3e3;box-shadow:0 3px 0 #dbe3e3;border-radius:12px}.panel h2{color:#183440}.panel h3{color:#006c78}
#app>.heading{background:#006c78;color:#fff;padding:20px;border-radius:12px 12px 20px 20px;margin-bottom:18px}#app>.heading h1{color:#fff}#app>.heading .muted,#app>.heading .meta{color:#e1f3f2}
.project-card{border-top:5px solid #006c78}.notification-item{border-inline-start:4px solid #6264b4}.sheet-budget-card{background:#d6eeee;border:0;border-bottom:4px solid #006c78}.sheet-budget-card:nth-child(2){background:#fff0dd;border-bottom-color:#ed9244}
.document,.attachment-row,.expense-invoice,.row>div,.heading>div,.project-card,.version{min-width:0;overflow-wrap:anywhere}.document p,.version p{white-space:pre-wrap;overflow-wrap:anywhere}.row,.heading,.attachment-row,.expense-invoice{max-width:100%}a{overflow-wrap:anywhere}input,textarea,select{max-width:100%}.attachment-row>strong{min-width:0;overflow-wrap:anywhere}.document .actions{flex-shrink:0}
.project-status-control{display:flex;flex-direction:column;gap:4px;flex-shrink:0;font-size:12px;color:#fff}.project-status-control select{background:#fff;color:#183440;max-width:180px;border:0;border-radius:16px;padding:8px 12px;font:inherit;font-size:14px}
.escort-manager-actions{grid-column:1/-1}.escort-finished{padding:10px;background:#d9efdf;border-radius:8px;font-weight:700}
.preview-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}.preview-dialog-content{padding:12px;display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto 1fr;gap:10px;height:100%;min-height:0}.preview-dialog-content h2{grid-column:1;grid-row:1;font-size:17px;margin:0;align-self:center;min-width:0;overflow-wrap:anywhere}.preview-dialog-content #attachment-full-download{grid-column:2;grid-row:1;align-self:center;padding:8px 12px}.preview-dialog-content #attachment-preview-close{grid-column:3;grid-row:1;position:static;background:#183440;color:#fff;border-radius:8px;min-width:44px;min-height:44px;padding:0;font-size:32px;line-height:1}.preview-dialog-content .attachment-preview-body{grid-column:1/-1;grid-row:2;min-height:0;height:100%;border-radius:6px}.preview-dialog-content .attachment-preview-body img{max-height:100%;object-fit:contain}.preview-dialog-content .pdf-preview-content{padding:0}.preview-dialog-content .pdf-toolbar{background:#fff;padding:8px}
@media(max-width:700px){.project-status-control select{max-width:142px}.shift-header{flex-wrap:wrap}.preview-dialog-content{padding:8px;gap:7px}.preview-dialog-content h2{font-size:14px}.preview-dialog-content #attachment-full-download{font-size:13px;padding:8px}.document .row{flex-wrap:wrap}.expense-invoice{flex-wrap:wrap}.sheet-budget-buckets{min-width:0}}
.preview-dialog-content .file-view-actions{grid-column:2;grid-row:1;display:flex;align-items:center;gap:7px}.preview-dialog-content .file-view-actions button{font-size:13px;padding:8px 10px}.preview-dialog-content .file-view-actions #attachment-full-download{grid-column:auto;grid-row:auto}
@media(max-width:420px){.preview-dialog-content .file-view-actions{flex-wrap:wrap;max-width:165px;justify-content:flex-end}.preview-dialog-content .file-view-actions button{min-height:36px;padding:6px 8px}}

/* Keep contact frames inside their parent; long values must wrap inside them. */
.contacts-workspace,.contact-card-grid,.contact-card,.contact,.contact-card-main,.contact-details,.contact-footer,.contact-identifiers{min-width:0;max-width:100%}
.contact-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.contact-card,.contact{width:100%;overflow-wrap:anywhere}
.contact-card-main>div,.contact-card-main .card-tools,.contact-footer>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
.contact-details>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
.contact-action{white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:start}
.contact-footer,.contact-identifier{flex-wrap:wrap}
.contact-identifier>span{flex:1 1 120px;min-width:0;max-width:100%;overflow-wrap:anywhere}
.contacts-workspace>.panel{min-width:0;max-width:100%;overflow-wrap:anywhere}
.contacts-workspace>.panel .row{flex-wrap:wrap;min-width:0}
.contacts-workspace>.panel .row>.actions{min-width:0;max-width:100%}
#contact-dialog-value{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
#contact-dialog{max-height:90vh;max-height:90dvh;overflow:auto}
#contact-dialog .dialog-content{min-width:0;overflow-wrap:anywhere}
#contact-dialog .dialog-actions{flex-wrap:wrap}
#contact-dialog .dialog-actions>*{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){.contacts-workspace .contact-card-grid{grid-template-columns:minmax(0,1fr)}}
@media(min-width:701px){.contacts-workspace .contact-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}}

.absence-row>span:first-child{min-width:0;flex:1}.absence-dialog .form{min-width:0}.absence-dialog .form label[hidden]{display:none}.absence-dialog input,.absence-dialog select{min-width:0;max-width:100%}

.absence-add.absence-icon{display:block;margin-inline-start:auto;font-size:24px;font-weight:500;padding:0;width:32px;height:32px}.updates-back{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.updates-heading h1{min-width:0;overflow-wrap:anywhere}

/* One static HTG image avoids layered animation on folding phones. */
#startup-splash{display:none}
@media(max-width:767px),(hover:none) and (pointer:coarse){
 #startup-splash{display:grid;place-items:center;position:fixed;inset:0;z-index:10000;background:#0a1c2a;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);pointer-events:none}
 #startup-splash[hidden]{display:none}
 .splash-composition{width:min(76vw,330px,65vh);text-align:center;color:#e4f6fc}
 .splash-mark{display:block;width:100%;height:auto}
 .splash-caption{display:grid;gap:6px;margin-top:18px;font-size:17px;line-height:1.35}
 .splash-caption span{font-size:15px;color:#65ccee}
}

/* Keep standalone app controls within the device safe area. */
@media (max-width:767px), (hover:none) and (pointer:coarse){
  /* viewport-fit=cover extends the background above the safe area; keep app controls safe too. */
  body>.topbar{height:auto;padding-top:calc(10px + env(safe-area-inset-top,0px))}
  #main-nav{top:env(safe-area-inset-top,0px)}
  .project-tabs{top:calc(57px + env(safe-area-inset-top,0px))}
  .preview-dialog .dialog-close,.preview-dialog .file-view-actions{top:max(10px,env(safe-area-inset-top,0px))}
  body{padding-bottom:env(safe-area-inset-bottom,0px)}
}

.shift-overview .absence-reminders{padding:18px;border-radius:12px}.shift-overview .absence-row{font-size:1rem;line-height:1.65;padding:8px 0}.reminder-copy{display:flex;align-items:baseline;gap:8px;min-width:0;overflow-wrap:anywhere}.reminder-type-icon{font-size:1.35rem;flex-shrink:0}.reminder-recipients{min-width:0;border:1px solid #d8e2e7;border-radius:10px;padding:12px;display:grid;gap:8px}.reminder-recipients .check,.invoice-choice .check{display:flex;flex-direction:row;align-items:center;gap:8px}.reminder-recipients input[type=checkbox],.invoice-choice input[type=checkbox]{width:20px;min-width:20px;height:20px;margin:0}.invoice-choice small{display:block;margin-top:5px;font-size:.82rem}

.reminder-type-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.absence-reminders h2{font-size:20px;margin-bottom:8px}.reminder-copy{display:block}.reminder-type-icon{display:inline-block;margin-inline-end:8px}.absence-reminders:not(:has(.absence-row)) h2{display:none}

/* Compact two-line reminders: RTL calendar, date, category, then description. */
.shift-overview .absence-reminders{padding:14px 16px}.absence-reminders h2{margin-bottom:5px}.shift-overview .absence-row{align-items:flex-start;padding:6px 0;gap:6px;line-height:1.35}.shift-overview .absence-row+.absence-row{border-top:1px solid #c8d9e7}.reminder-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-weight:700}.reminder-heading .reminder-type-icon{display:inline-flex;margin:0;flex-shrink:0}.reminder-heading .reminder-type-icon svg{width:25px;height:25px;stroke:none}.reminder-date{font-size:.94rem}.reminder-category{font-size:.8rem;line-height:1.25;color:#155970;background:#ffffffa6;border-radius:5px;padding:2px 6px}.reminder-description{display:block;margin-top:2px;line-height:1.4;overflow-wrap:anywhere}.shift-overview .absence-actions{gap:0;align-items:center;margin-top:0}.shift-overview .absence-actions .absence-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:30px;min-width:28px;min-height:30px;margin:0;padding:4px;font-size:17px}.shift-overview .absence-actions svg{width:17px;height:17px}.shift-overview .absence-add{margin-top:2px}
.shift-overview .absence-reminders:has(.absence-row){position:relative}.absence-reminders:has(.absence-row) h2{padding-inline-end:36px}.shift-overview .absence-reminders:has(.absence-row) .absence-add{position:absolute;top:10px;left:14px;margin:0}

.attendance-panel{border-inline-start:5px solid #2672ae}.attendance-panel h2{margin-bottom:12px}.attendance-form{max-width:620px;gap:10px}.attendance-workers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:6px;padding:10px;border:1px solid var(--line);border-radius:9px;min-width:0}.attendance-workers .check{display:flex;align-items:center;gap:9px;margin:0;padding:7px;background:var(--bg);border-radius:6px;min-width:0}.attendance-workers input[type=checkbox]{width:21px;height:21px;min-width:21px;margin:0}.attendance-workers span{overflow-wrap:anywhere;min-width:0}.attendance-day{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;width:100%;text-align:start;padding:10px;margin:6px 0;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.attendance-history{margin-top:12px}.attendance-history summary{cursor:pointer;font-weight:700}

.contact-form-feedback,.dialog-feedback{overflow-wrap:anywhere;white-space:pre-wrap;padding:10px 12px;border-radius:8px;background:#fff0ed;border:1px solid #edc3ba;line-height:1.45}.contact-form-feedback:focus{outline:2px solid #b34332;outline-offset:2px}.contact-form-feedback[hidden],.dialog-feedback[hidden]{display:none}.dialog-feedback{margin-top:12px;color:var(--text);background:#edf5f7;border-color:#c3dce1}

.attendance-person{min-width:0;border:1px solid var(--line);padding:10px;border-radius:8px;display:grid;gap:8px}.attendance-person label{min-width:0}.attendance-person input,.attendance-person textarea{max-width:100%;width:100%;box-sizing:border-box}.attendance-entry{border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}.attendance-note{white-space:pre-wrap}.attendance-day[hidden]{display:none}

.attendance-summary{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.attendance-summary strong{padding:8px 12px;background:var(--brand-soft);border-radius:8px}.attendance-period{margin:14px 0;padding-bottom:14px;border-bottom:1px solid var(--line)}
@media(max-width:700px){#main-nav a{flex:1 1 0;min-width:0;padding:9px 4px;font-size:14px;overflow-wrap:normal;word-break:normal}.attendance-person textarea{font:inherit}.attendance-summary{gap:6px}.attendance-summary strong{padding:6px 8px;font-size:15px}}

.attendance-person[hidden]{display:none}.attendance-workers{display:block;padding:0;border:0}.attendance-person h3{margin:0}.attendance-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attendance-date-button{display:flex;align-items:center;gap:10px;width:100%;text-align:start;margin-top:5px}.attendance-selected-list{display:flex;flex-wrap:wrap;gap:6px}.attendance-selected-list button{font-size:14px;padding:7px 10px}.attendance-hours{font-weight:700;color:var(--brand)}.attendance-calendar-dialog{width:min(360px,calc(100vw - 24px));padding:16px;border:1px solid var(--line);border-radius:14px}.attendance-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.attendance-calendar-heading h2{font-size:18px}.attendance-calendar-heading button{padding:8px}.attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:12px;text-align:center}.attendance-calendar-grid button{min-height:40px;padding:5px;border-radius:6px}.attendance-calendar-grid button[aria-pressed=true]{background:var(--brand);color:white}.attendance-calendar-dialog::backdrop{background:#0006}

.attendance-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.attendance-search-bar{display:flex;align-items:center;gap:12px;margin:14px 0}.attendance-search-trigger{display:flex;align-items:center;gap:10px;min-width:0;width:100%;max-width:520px;text-align:start;color:var(--muted);overflow-wrap:anywhere}.attendance-name-list{display:grid}.attendance-name-list>a{display:block;padding:14px 4px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;font-weight:700;overflow-wrap:anywhere}.attendance-name-list>a:hover{color:var(--brand);background:var(--brand-soft)}.attendance-month{margin-top:22px}.attendance-month h2{color:var(--brand)}.attendance-month-total{margin:4px 0 8px;color:var(--muted);font-size:15px}.attendance-rate-settings{margin-top:24px;padding-top:12px;border-top:1px solid var(--line)}.attendance-rate-settings summary{cursor:pointer;font-weight:700}.attendance-search-dialog{width:min(420px,calc(100vw - 24px));padding:20px;border:1px solid var(--line);border-radius:12px}.attendance-search-dialog [hidden]{display:none}.attendance-search-dialog::backdrop{background:#0006}

/* Grid children must shrink to the device width, including Chromium on Android. */
.layout,main,.project-tab-content{min-width:0;max-width:100%}
@media(max-width:1180px){.layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
  #main-nav{min-width:0;max-width:100%;flex-wrap:wrap}
}

/* Keep the compact tab strip; edge shadows hint at content beyond the viewport. */
.project-tabs{min-width:0;max-width:100%;scroll-padding-inline:10px;scrollbar-width:thin;scrollbar-color:#67969a #e3eceb;overscroll-behavior-x:contain;background:linear-gradient(to right,#f3f6f7 30%,transparent) left center,linear-gradient(to left,#f3f6f7 30%,transparent) right center,linear-gradient(to right,#006c7840,transparent) left center,linear-gradient(to left,#006c7840,transparent) right center;background-size:32px 100%,32px 100%,14px 100%,14px 100%;background-repeat:no-repeat;background-attachment:local,local,scroll,scroll;background-color:#f3f6f7}
.project-tabs::-webkit-scrollbar{height:4px}
.project-tabs::-webkit-scrollbar-track{background:#e3eceb;border-radius:4px}
.project-tabs::-webkit-scrollbar-thumb{background:#67969a;border-radius:4px}
.project-tabs a{min-height:44px}

/* Attendance management: compact rhythm, clear totals, quiet secondary details. */
.attendance-management{padding:18px 20px;box-shadow:none;border-color:#e0e7e6}
.attendance-management .attendance-overview-heading{gap:6px 12px}
.attendance-management h1{font-size:26px;margin:0;line-height:1.3}
.attendance-management .attendance-overview-heading>a{font-size:13px}
.attendance-management .attendance-search-bar{margin:12px 0 4px;gap:8px}
.attendance-management .attendance-search-trigger{max-width:none;min-height:44px;padding:8px 10px;font-size:15px;background:#f7f9f8;border-color:#e0e7e6}
.attendance-management .attendance-name-list>a{min-height:44px;display:flex;align-items:center;padding:9px 2px;font-size:17px;line-height:1.4;border-color:#e9eeec}
.attendance-management .attendance-name-list>a:last-child{border-bottom:0}
.attendance-management .attendance-summary{margin:14px 0 6px;gap:18px;border-bottom:1px solid var(--line);padding-bottom:10px}
.attendance-management .attendance-summary strong{padding:0;background:none;border-radius:0;color:#006c78;font-size:21px;line-height:1.3;font-variant-numeric:tabular-nums}
.attendance-management .attendance-summary-note{font-size:12px;line-height:1.5;margin:0 0 12px;max-width:650px}
.attendance-management .attendance-month{margin-top:16px}
.attendance-management .attendance-month h2{font-size:18px;line-height:1.3;margin:0}
.attendance-management .attendance-month-total{font-size:14px;margin:3px 0 4px;color:var(--text)}
.attendance-management .attendance-entry{padding:9px 0;line-height:1.4;border-color:#e9eeec}
.attendance-management .attendance-entry>strong{font-size:15px}
.attendance-management .attendance-entry p{margin:3px 0;font-size:14px;color:var(--muted)}
.attendance-management .attendance-entry .attendance-note{color:var(--text)}
.attendance-management .attendance-entry>a{display:inline-flex;align-items:center;min-height:32px;font-size:12px;text-decoration:none;color:var(--brand)}
.attendance-management .attendance-rate-settings{margin-top:16px;padding-top:10px;font-size:14px}
@media(max-width:700px){.attendance-management{padding:14px}.attendance-management h1{font-size:24px}.attendance-management .attendance-summary{gap:14px}.attendance-management .attendance-summary strong{font-size:19px}}
.attendance-management .attendance-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:2px}
.attendance-management .attendance-entry>strong{grid-column:1/-1}
.attendance-management .attendance-entry>p:not(.attendance-note){grid-column:1;grid-row:2;align-self:center}
.attendance-management .attendance-entry>a{grid-column:2;grid-row:2;min-height:32px;justify-self:end}
.attendance-management .attendance-entry .attendance-note{grid-column:1/-1;margin:0;font-size:13px}

.work-time-marker{position:absolute;top:-4px;bottom:-4px;width:3px;background:#9b4e00;z-index:2;border-radius:2px}.work-progress-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;margin-top:8px}.work-progress-legend>span{color:#814400}.work-time-marker::before{content:"";position:absolute;top:-4px;right:-3px;border-inline:4px solid transparent;border-top:5px solid #9b4e00}.shift-progress>div{min-width:0;width:100%}.work-progress-legend+ .meta{line-height:1.5;margin-bottom:0}

.work-progress.shift-progress{grid-template-columns:minmax(0,1fr)}.work-progress .project-progress-track{position:relative}.work-progress .work-time-marker{top:0;bottom:0;height:100%}
.work-time-0{right:0%;}.work-time-1{right:1%;}.work-time-2{right:2%;}.work-time-3{right:3%;}.work-time-4{right:4%;}.work-time-5{right:5%;}.work-time-6{right:6%;}.work-time-7{right:7%;}.work-time-8{right:8%;}.work-time-9{right:9%;}.work-time-10{right:10%;}.work-time-11{right:11%;}.work-time-12{right:12%;}.work-time-13{right:13%;}.work-time-14{right:14%;}.work-time-15{right:15%;}.work-time-16{right:16%;}.work-time-17{right:17%;}.work-time-18{right:18%;}.work-time-19{right:19%;}.work-time-20{right:20%;}.work-time-21{right:21%;}.work-time-22{right:22%;}.work-time-23{right:23%;}.work-time-24{right:24%;}.work-time-25{right:25%;}.work-time-26{right:26%;}.work-time-27{right:27%;}.work-time-28{right:28%;}.work-time-29{right:29%;}.work-time-30{right:30%;}.work-time-31{right:31%;}.work-time-32{right:32%;}.work-time-33{right:33%;}.work-time-34{right:34%;}.work-time-35{right:35%;}.work-time-36{right:36%;}.work-time-37{right:37%;}.work-time-38{right:38%;}.work-time-39{right:39%;}.work-time-40{right:40%;}.work-time-41{right:41%;}.work-time-42{right:42%;}.work-time-43{right:43%;}.work-time-44{right:44%;}.work-time-45{right:45%;}.work-time-46{right:46%;}.work-time-47{right:47%;}.work-time-48{right:48%;}.work-time-49{right:49%;}.work-time-50{right:50%;}.work-time-51{right:51%;}.work-time-52{right:52%;}.work-time-53{right:53%;}.work-time-54{right:54%;}.work-time-55{right:55%;}.work-time-56{right:56%;}.work-time-57{right:57%;}.work-time-58{right:58%;}.work-time-59{right:59%;}.work-time-60{right:60%;}.work-time-61{right:61%;}.work-time-62{right:62%;}.work-time-63{right:63%;}.work-time-64{right:64%;}.work-time-65{right:65%;}.work-time-66{right:66%;}.work-time-67{right:67%;}.work-time-68{right:68%;}.work-time-69{right:69%;}.work-time-70{right:70%;}.work-time-71{right:71%;}.work-time-72{right:72%;}.work-time-73{right:73%;}.work-time-74{right:74%;}.work-time-75{right:75%;}.work-time-76{right:76%;}.work-time-77{right:77%;}.work-time-78{right:78%;}.work-time-79{right:79%;}.work-time-80{right:80%;}.work-time-81{right:81%;}.work-time-82{right:82%;}.work-time-83{right:83%;}.work-time-84{right:84%;}.work-time-85{right:85%;}.work-time-86{right:86%;}.work-time-87{right:87%;}.work-time-88{right:88%;}.work-time-89{right:89%;}.work-time-90{right:90%;}.work-time-91{right:91%;}.work-time-92{right:92%;}.work-time-93{right:93%;}.work-time-94{right:94%;}.work-time-95{right:95%;}.work-time-96{right:96%;}.work-time-97{right:97%;}.work-time-98{right:98%;}.work-time-99{right:99%;}.work-time-100{right:100%;}

.work-progress.shift-progress .project-progress-track{background:#fff!important;border:1px solid #bcd2df;border-radius:999px}.work-progress.shift-progress .project-progress-track::before{border-radius:999px;background:linear-gradient(90deg,#9fcef0,#478bc8)}

/* Short project setup; static surfaces keep field devices responsive. */
.project-setup{max-width:820px;margin-inline:auto}.project-setup section+section{border-top:1px solid #dce6e7;padding-top:22px;margin-top:22px}.project-setup h2{margin:0 0 6px}.project-setup p{margin:0 0 14px}.setup-skip{display:block;width:100%;padding:13px 16px;margin-bottom:22px;border:2px solid #376e78;background:#f0f8f8;color:#174d59;font-weight:700;text-align:start}.setup-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0 0 16px}.setup-steps li{display:flex;align-items:center;gap:7px;font-size:13px;color:#526972;min-width:0}.setup-steps li>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#eef3f3}.setup-steps .current{color:#154e5c;font-weight:700}.setup-steps .current>span{background:#1c6573;color:white}.setup-steps .done>span{background:#dcefed;color:#215f50}.setup-row{border:1px solid #d5e1e4;border-radius:12px;padding:14px;display:grid;gap:12px;min-width:0}.setup-row legend{font-weight:700;padding-inline:5px}.setup-remove{justify-self:start;color:#7a4040;font-size:13px}.setup-actions{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid #e0e8e9;padding-top:18px;margin-top:8px}.setup-actions>.primary{margin-inline-start:auto}.setup-summary{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.5fr);gap:12px;margin:6px 0}.setup-summary dt{color:#50636c}.setup-summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}.setup-extra>.form{padding-block:12px}.setup-budget{background:#f4f8f8;border-radius:10px;padding:14px;display:grid;gap:12px}.setup-mode{font-weight:700;color:#19586a;margin-bottom:10px}.project-schedule-form{margin-block:14px}.project-schedule-form summary{font-weight:600;cursor:pointer}.project-schedule-form .form{padding-top:12px}
@media(max-width:520px){.project-setup{padding:16px}.setup-steps{gap:5px}.setup-steps li{flex-direction:column;align-items:flex-start;font-size:11px;gap:6px}.setup-summary{grid-template-columns:1fr;gap:4px}.setup-summary dd{margin-bottom:10px}.setup-skip{font-size:14px}.setup-actions>.primary{flex:1}.setup-actions>[data-later]{width:100%}}
.project-setup .setup-steps li>span{width:28px;min-width:28px}.project-setup form>section{display:grid;gap:12px}
#app:has(.project-setup){scroll-margin-top:70px}

.dual-progress-track{height:24px;position:relative;overflow:hidden;border:1px solid #cbd8df;border-radius:999px;background:#f5f7f9;isolation:isolate}.dual-progress-time,.dual-progress-tasks{position:absolute;inset-inline-start:0;max-width:100%;min-width:0}.dual-progress-time{top:0;height:100%;background:#f1c684;border-inline-end:2px solid #a65e10;border-radius:999px}.dual-progress-tasks{top:7px;height:10px;background:#397cbe;border-radius:999px;box-shadow:0 0 0 1px #fff}.dual-progress-legend{display:flex;gap:8px 20px;flex-wrap:wrap;margin-top:8px;font-size:14px}.dual-progress-legend>span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-inline-end:5px}.dual-time-label::before{background:#f1c684}.dual-tasks-label::before{background:#397cbe}.dual-progress h2{margin:0 0 10px}.dual-progress .meta{margin-bottom:0;line-height:1.5}
.dual-width-0{width:0%}.dual-width-1{width:1%}.dual-width-2{width:2%}.dual-width-3{width:3%}.dual-width-4{width:4%}.dual-width-5{width:5%}.dual-width-6{width:6%}.dual-width-7{width:7%}.dual-width-8{width:8%}.dual-width-9{width:9%}.dual-width-10{width:10%}.dual-width-11{width:11%}.dual-width-12{width:12%}.dual-width-13{width:13%}.dual-width-14{width:14%}.dual-width-15{width:15%}.dual-width-16{width:16%}.dual-width-17{width:17%}.dual-width-18{width:18%}.dual-width-19{width:19%}.dual-width-20{width:20%}.dual-width-21{width:21%}.dual-width-22{width:22%}.dual-width-23{width:23%}.dual-width-24{width:24%}.dual-width-25{width:25%}.dual-width-26{width:26%}.dual-width-27{width:27%}.dual-width-28{width:28%}.dual-width-29{width:29%}.dual-width-30{width:30%}.dual-width-31{width:31%}.dual-width-32{width:32%}.dual-width-33{width:33%}.dual-width-34{width:34%}.dual-width-35{width:35%}.dual-width-36{width:36%}.dual-width-37{width:37%}.dual-width-38{width:38%}.dual-width-39{width:39%}.dual-width-40{width:40%}.dual-width-41{width:41%}.dual-width-42{width:42%}.dual-width-43{width:43%}.dual-width-44{width:44%}.dual-width-45{width:45%}.dual-width-46{width:46%}.dual-width-47{width:47%}.dual-width-48{width:48%}.dual-width-49{width:49%}.dual-width-50{width:50%}.dual-width-51{width:51%}.dual-width-52{width:52%}.dual-width-53{width:53%}.dual-width-54{width:54%}.dual-width-55{width:55%}.dual-width-56{width:56%}.dual-width-57{width:57%}.dual-width-58{width:58%}.dual-width-59{width:59%}.dual-width-60{width:60%}.dual-width-61{width:61%}.dual-width-62{width:62%}.dual-width-63{width:63%}.dual-width-64{width:64%}.dual-width-65{width:65%}.dual-width-66{width:66%}.dual-width-67{width:67%}.dual-width-68{width:68%}.dual-width-69{width:69%}.dual-width-70{width:70%}.dual-width-71{width:71%}.dual-width-72{width:72%}.dual-width-73{width:73%}.dual-width-74{width:74%}.dual-width-75{width:75%}.dual-width-76{width:76%}.dual-width-77{width:77%}.dual-width-78{width:78%}.dual-width-79{width:79%}.dual-width-80{width:80%}.dual-width-81{width:81%}.dual-width-82{width:82%}.dual-width-83{width:83%}.dual-width-84{width:84%}.dual-width-85{width:85%}.dual-width-86{width:86%}.dual-width-87{width:87%}.dual-width-88{width:88%}.dual-width-89{width:89%}.dual-width-90{width:90%}.dual-width-91{width:91%}.dual-width-92{width:92%}.dual-width-93{width:93%}.dual-width-94{width:94%}.dual-width-95{width:95%}.dual-width-96{width:96%}.dual-width-97{width:97%}.dual-width-98{width:98%}.dual-width-99{width:99%}.dual-width-100{width:100%}

/* Large, independent progress rings with a shared visual language. */
.donut-progress.work-progress{padding:26px;border:1px solid #25435e;border-radius:24px;background:radial-gradient(ellipse at 100% 0,#23465f 0,transparent 65%),linear-gradient(135deg,#112a40,#101e30);color:#f1f7fc;box-shadow:0 12px 30px #102d421a;overflow:hidden}
.donut-progress .progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}
.donut-progress .progress-heading h2{margin:0;color:#fff;font-size:23px;font-weight:800;letter-spacing:-.4px}
.progress-heading-note{font-size:11px;color:#a5bccf;white-space:nowrap;border:1px solid #91b8d32b;border-radius:99px;padding:5px 9px}
.progress-donuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.progress-donuts:has(.donut-material){grid-template-columns:repeat(3,minmax(0,1fr))}
.progress-donut-card{display:flex;flex-direction:column;align-items:center;gap:18px;min-width:0;padding:18px 12px;border:1px solid #8ab3cf21;border-radius:20px;background:linear-gradient(160deg,#ffffff06,#ffffff01)}
.donut-time{--donut-color:#ffca78}.donut-tasks{--donut-color:#79c6ff}.donut-material{--donut-color:#69e5bc}
.progress-donut{position:relative;width:min(100%,190px);aspect-ratio:1;flex-shrink:0;color:var(--donut-color)}
.progress-donut-svg{display:block;width:100%;height:100%;overflow:visible}
.progress-donut-svg circle{fill:none;stroke-width:10}
.donut-track{stroke:#c6e0f010}
.donut-fill{stroke:var(--donut-color);stroke-linecap:round;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--donut-color) 22%,transparent))}
.progress-donut.is-empty .donut-fill{visibility:hidden}
.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:22%;text-align:center}
.donut-center strong{font-size:clamp(28px,3.8vw,48px);font-weight:800;letter-spacing:-1.5px;line-height:1.1;font-variant-numeric:tabular-nums;max-width:100%;overflow-wrap:anywhere}
.donut-center span{color:#b8cedd;font-size:13px;line-height:1.3}
.donut-caption{text-align:center;min-width:0;overflow-wrap:anywhere}
.donut-caption h3{margin:0;color:var(--donut-color);font-size:19px;font-weight:800;line-height:1.4}
.donut-caption p{margin:7px 0 0;color:#c3d6e3;font-size:15px;line-height:1.6;font-variant-numeric:tabular-nums}
.donut-overrun{display:inline-block;color:#ffcd9f;background:#ffab5212;border:1px solid #ffab5233;padding:3px 8px;margin-top:8px;border-radius:99px;font-size:11px}
.donut-progress.work-progress .meta{margin:22px 0 0;padding-top:14px;border-top:1px solid #93b2c41c;color:#9eb5c7;font-size:11px;line-height:1.6}
@media(max-width:600px){
 .donut-progress.work-progress{padding:20px 12px;border-radius:20px}
 .donut-progress .progress-heading{margin-bottom:24px;flex-wrap:wrap;gap:8px}
 .donut-progress .progress-heading h2{font-size:22px}.progress-heading-note{font-size:12px}
 .progress-donuts,.progress-donuts:has(.donut-material){gap:8px}
 .progress-donut-card{padding:0;gap:16px;border:0;background:none}
 .progress-donut{width:100%;max-width:160px}
 .donut-center{padding:18%}.donut-center strong{font-size:clamp(27px,8.1vw,44px);letter-spacing:-1.2px}
 .donut-center span{display:none}
 .donut-caption{width:100%;text-align:center}
 .donut-caption h3{font-size:17px;font-weight:800;min-height:48px;line-height:1.4}
 .donut-caption p{font-size:14px;line-height:1.6;margin-top:6px}
 .donut-overrun{font-size:12px;padding:3px 5px}
 .donut-progress.work-progress .meta{margin-top:20px;font-size:12px}
}
@media(max-width:350px){.donut-progress.work-progress{padding-inline:10px}.progress-donuts,.progress-donuts:has(.donut-material){gap:6px}.donut-caption h3{font-size:16px}.donut-caption p{font-size:13px}.donut-center strong{font-size:27px}}

/* Budget workspace shares the progress dashboard's navy, sky blue and mint. */
.finance-workspace{display:grid;gap:22px;min-width:0}
.finance-workspace>.panel{margin-bottom:0}
.budget-dashboard{padding:24px;border-radius:24px;border:1px solid #25435e;background:radial-gradient(ellipse at 100% 0,#23465f,transparent 65%),linear-gradient(135deg,#112a40,#101e30);color:#f1f7fc;box-shadow:0 12px 30px #102d421a;margin-bottom:20px;min-width:0}
.budget-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.budget-dashboard-heading h2{font-size:23px;font-weight:800;color:#fff;margin:0}
.budget-source-badge{font-size:12px;color:#bfd5e6;border:1px solid #91b8d33b;border-radius:99px;padding:5px 10px}
.budget-balance{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;margin:16px 0 17px;text-align:center}
.budget-balance>span{font-size:16px;color:#d6e7f3;font-weight:700}
.budget-balance>strong{font-size:42px;color:#69e5bc;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%}
.budget-balance small{font-size:13px;color:#ffbfa8}
.budget-comparison{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;padding-top:13px;border-top:1px solid #abcbe526;text-align:center}
.budget-comparison>div{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.budget-comparison>div>span{font-size:14px;color:#c7ddeb}
.budget-comparison strong{font-size:21px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%}
.budget-comparison>div:first-child strong{color:#ffca78}.budget-comparison>div:last-child strong{color:#79c6ff}
.budget-comparison-vs{font-size:13px;color:#93adbf}
.budget-overrun .budget-balance>strong{color:#ffbfa8}
.finance-section{background:#fff;border:1px solid #d9e4eb;border-radius:20px;padding:22px;box-shadow:0 5px 18px #193a5008;min-width:0}
.finance-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.finance-section-heading h2{font-size:22px;font-weight:800;color:#16354d;margin:0}
.finance-section-heading>span{font-size:13px;color:#526e80;background:#f0f5f8;border:1px solid #e2ebf0;padding:4px 9px;border-radius:99px}
.budget-source-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:13px;color:#5c7384}
.budget-source-link{display:inline-block;color:#1b5277;font-weight:700;font-size:14px;text-decoration:none;border-bottom:1px solid #99bfd8;padding-block:4px}
.budget-data-note{font-size:14px;line-height:1.65;color:#536f80;background:#f0f6fa;border-radius:10px;padding:12px;margin:14px 0 0}
.budget-warning{font-size:15px;color:#874307;background:#fff6e6;border:1px solid #ecd6a4;border-radius:12px;padding:13px;margin:12px 0}
.budget-empty{padding:24px;background:#f3f7fa;border:1px solid #dbe6ed;border-radius:20px;color:#264d65}.budget-empty h2,.budget-empty h3{font-size:21px;margin:0}.budget-empty p{font-size:16px}
.finance-expenses .finance-expense-card{display:flex;align-items:flex-start;gap:16px;border:1px solid #dce6ed;border-radius:14px;background:#fbfdff;margin-top:12px;padding:16px}
.finance-expense-content{flex:1;min-width:0}.finance-expense-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.finance-expense-amount{font-size:24px;color:#173c58;font-weight:800;overflow-wrap:anywhere;max-width:100%}
.finance-expense-status{font-size:13px;font-weight:700;padding:4px 9px;border-radius:99px;background:#eef3f7;color:#526a7d}
.finance-expense-status.state-approved{color:#19604c;background:#e5f5ed}.finance-expense-status.state-pending{color:#8b540e;background:#fff0d3}.finance-expense-status.state-rejected{color:#a34232;background:#fcebe5}
.finance-expense-content h3{font-size:17px;margin:8px 0 3px;overflow-wrap:anywhere;color:#22445b}.finance-expense-content .meta{font-size:14px}
.finance-expenses .expense-invoice{padding-top:12px;border-top:1px solid #e3ebf0;margin-top:12px;gap:8px}.finance-expenses .expense-invoice>span{flex-basis:100%;overflow-wrap:anywhere}
.finance-expenses .expense-invoice button{font-size:14px;padding:8px 11px;min-height:40px}
.finance-expenses .actions{display:flex;gap:8px;flex-wrap:wrap}.finance-expenses .actions button:first-child{background:#176657;color:#fff;border-color:#176657}
.finance-workspace .create-action{margin-top:18px}.finance-workspace .create-action>summary{font-weight:800;font-size:17px}
.finance-versions .budget-version{border:1px solid #dae5ed;border-inline-start:4px solid #71b9e9;border-radius:14px;background:#f9fcfe;padding:16px;margin-top:14px}
@media(max-width:600px){.budget-dashboard{padding:17px 16px;border-radius:20px}.budget-dashboard-heading h2{font-size:20px}.budget-balance>strong{font-size:38px}.budget-comparison{gap:10px}.budget-comparison strong{font-size:20px}.budget-comparison>div>span{font-size:13px}.finance-section{padding:18px 15px}.finance-section-heading h2{font-size:20px}.finance-expenses .finance-expense-card{flex-direction:column}.finance-expenses .actions{width:100%}.finance-expenses .actions button{flex:1;min-height:44px}.budget-source-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:350px){.budget-balance>strong{font-size:34px}.budget-comparison strong{font-size:18px}}

.budget-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;border-top:1px solid #abcbe526;padding-top:18px}
.budget-category{--budget-category-color:#79c6ff;display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}
.budget-category.category-dry_ice{--budget-category-color:#69e5bc}
.budget-category-ring{position:relative;width:110px;max-width:100%;aspect-ratio:1;color:var(--budget-category-color)}
.budget-category-ring svg{display:block;width:100%;height:100%;overflow:visible}.budget-category-ring circle{fill:none;stroke-width:10}
.budget-category-track{stroke:#c6e0f010}.budget-category-fill{stroke:var(--budget-category-color);stroke-linecap:round}.budget-category-ring.ring-empty .budget-category-fill{visibility:hidden}
.budget-category-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:19%;gap:2px}
.budget-category-ring strong{font-size:29px;font-weight:800;line-height:1.15;letter-spacing:-1px;max-width:100%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.budget-category-ring span{font-size:11px;color:#bfd6e6}
.budget-category h3{font-size:17px;font-weight:800;color:var(--budget-category-color);margin:10px 0 8px;line-height:1.4}
.budget-category dl{margin:0;display:grid;gap:4px;max-width:100%;width:180px;font-size:14px}
.budget-category dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;flex-wrap:wrap}
.budget-category dt{color:#bfd2df}.budget-category dd{margin:0;font-weight:700;overflow-wrap:anywhere;max-width:100%;font-variant-numeric:tabular-nums}
.budget-category dl>div:first-child dd{color:#ffca78}
.budget-category-overrun{color:#ffbfa8;font-size:12px;margin-top:7px}
@media(max-width:600px){.budget-category-grid{gap:16px;padding-top:15px}.budget-category-ring{width:100px}.budget-category-ring strong{font-size:27px}.budget-category h3{font-size:16px}.budget-category dl{font-size:13px;width:100%}}
@media(max-width:350px){.budget-category-grid{gap:14px}.budget-category dl{font-size:12px}.budget-category h3{font-size:15px}.budget-category-ring{width:92px}}

.budget-source-meta{padding:0 4px;color:#5c7384}
.budget-source-meta .budget-source-footer{margin-top:0}
.budget-source-meta .budget-data-note{background:transparent;padding:0;margin:6px 0 0;font-size:12px;line-height:1.5}

/* Original transparent company logo, always presented on a white header. */
.topbar{background:#fff;height:auto;min-height:94px;padding-block:8px}
.topbar .brand{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1;text-decoration:none}
.brand-logo{display:block;width:260px;max-width:100%;height:auto;object-fit:contain;margin-top:-8px}
.topbar .brand small{font-size:13px;line-height:1.3;margin-top:-7px;color:#526b7b}
.topbar .brand:focus-visible{outline:2px solid #2467ad;outline-offset:4px;border-radius:4px}
@media(max-width:700px){.topbar{min-height:0}.brand-logo{width:250px}.topbar .brand small{font-size:13px}.topbar .brand{align-self:center}}

/* Center the brand independently of account controls and keep captions RTL. */
.topbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto;gap:6px;min-height:0;background:#fff}
.topbar .brand{display:grid;grid-template-columns:minmax(0,1fr);grid-column:1;grid-row:1;width:100%;justify-self:stretch;align-items:initial;white-space:normal}
.topbar .brand-logo{width:220px;max-width:100%;justify-self:center;margin-top:-8px;margin-bottom:-5px}
.topbar .brand-company{font-size:17px;line-height:1.4;font-weight:800;color:#183440;justify-self:start;text-align:right}
.topbar .brand small{font-size:13px;line-height:1.4;margin-top:1px;justify-self:start;text-align:right}
.topbar .auth-user,.topbar .dev-user{grid-column:1;grid-row:2;justify-self:end;margin:0}
@media(max-width:700px){.topbar .brand-logo{width:210px}.topbar .brand-company{font-size:16px}}
.budget-category-ring.is-empty .budget-category-fill{visibility:hidden}
.contact-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:5px 0;min-height:56px}
.contact-disclosure>summary::-webkit-details-marker{display:none}
.contact-summary-fields{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}
.contact-summary-fields>strong{font-size:18px;color:#183e59;font-weight:800;line-height:1.4}
.contact-summary-fields>span{font-size:15px;line-height:1.4;color:#38576d}
.contact-summary-fields>small{font-size:14px;line-height:1.4;color:#607485}
.contact-summary-fields>span:empty,.contact-summary-fields>small:empty{display:none}
.contact-disclosure-indicator{font-size:24px;color:#315c78;flex-shrink:0;line-height:1}
.contact-disclosure[open]>summary .contact-disclosure-indicator{transform:rotate(180deg)}
.contact-disclosure>summary:focus-visible{outline:2px solid #2467ad;outline-offset:4px;border-radius:6px}
.contact-expanded{border-top:1px solid #e0e9ef;margin-top:8px;padding-top:12px}
.contact-expanded-tools{display:flex;justify-content:flex-end;margin-bottom:10px}
.contact-disclosure .contact-action{overflow-wrap:anywhere;max-width:100%;text-align:start;min-height:40px}
.contact-disclosure.contact{border:1px solid #dce6ed;border-radius:12px;background:#fff;padding:12px 14px;margin-top:10px}
.contact-disclosure.contact:last-child{border:1px solid #dce6ed}
.topbar .brand-company,.topbar .brand small{width:220px;max-width:100%;justify-self:center;text-align:right}
@media(max-width:700px){.topbar .brand-company,.topbar .brand small{width:210px}}

/* Keep group labels close to their contact cards on every screen size. */
.contacts-workspace .contact-card-grid{row-gap:8px;align-items:start;align-content:start}
.contacts-workspace .contact-card-grid>.contact-category-heading{margin:12px 0 0;padding:0;font-size:16px;line-height:1.4}
.contacts-workspace .contact-card-grid>.contact-category-heading:first-child{margin-top:0}
.contacts-workspace .contact-card-grid>.contact-card{margin:0}

/* One brand row: company captions on the right, logo on the left. */
.topbar .brand{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:18px;row-gap:2px;align-items:center}
.topbar .brand-logo{grid-column:2;grid-row:1 / 3;width:220px;max-width:100%;margin:0;justify-self:end;align-self:center}
.topbar .brand-company{grid-column:1;grid-row:1;width:auto;max-width:100%;justify-self:start;align-self:end;text-align:right}
.topbar .brand small{grid-column:1;grid-row:2;width:auto;max-width:100%;justify-self:start;align-self:start;text-align:right;margin-top:0}
@media(max-width:700px){.topbar .brand{column-gap:12px}.topbar .brand-logo{width:min(34vw,180px)}}
@media(max-width:350px){.topbar .brand-company{font-size:15px}.topbar .brand{column-gap:10px}}

/* Portfolio overview: shared status colors and a calm, readable project list. */
.portfolio-dashboard{padding:24px;border:1px solid #25435e;border-radius:24px;background:radial-gradient(ellipse at 100% 0,#23465f,transparent 65%),linear-gradient(135deg,#112a40,#101e30);color:#f1f7fc;margin-bottom:24px;box-shadow:0 12px 30px #102d421a}
.portfolio-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.portfolio-heading h2{font-size:24px;font-weight:800;color:#fff;margin:0}.portfolio-heading p{font-size:14px;color:#abc5d8;margin:5px 0 0}
.portfolio-total{font-size:14px;white-space:nowrap;border:1px solid #9abbd03b;background:#ffffff08;border-radius:99px;padding:6px 12px;color:#d4e5f0}
.portfolio-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.portfolio-metric{--portfolio-color:#79c6ff;display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}
.metric-active{--portfolio-color:#69e5bc}.metric-completed{--portfolio-color:#79c6ff}.metric-progress{--portfolio-color:#ffca78}.metric-preparation{--portfolio-color:#ffca78}
.portfolio-ring{position:relative;aspect-ratio:1;width:150px;max-width:100%;color:var(--portfolio-color)}
.portfolio-ring svg{display:block;width:100%;height:100%;overflow:visible}.portfolio-ring circle{fill:none;stroke-width:10}
.portfolio-ring-track{stroke:#c6e0f010}.portfolio-ring-fill{stroke:var(--portfolio-color);stroke-linecap:round}.portfolio-ring.is-empty .portfolio-ring-fill{visibility:hidden}
.portfolio-ring>strong{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:42px;line-height:1.1;letter-spacing:-1.3px;font-weight:800;font-variant-numeric:tabular-nums}
.portfolio-metric h3{margin:13px 0 0;font-size:18px;font-weight:800;color:var(--portfolio-color);line-height:1.4}
.portfolio-metric p{font-size:14px;color:#b9cddd;margin:6px 0 0;line-height:1.5;overflow-wrap:anywhere}
.portfolio-states{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:24px;padding-top:16px;border-top:1px solid #a8c8df26}
.portfolio-states>span{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;background:#ffffff07;border:1px solid #a8c8df23;border-radius:99px;color:#cfdfeb;font-size:14px}
.portfolio-states b{font-size:17px}.portfolio-preparation::before,.portfolio-blocked::before{content:"";width:7px;height:7px;background:#ffca78;border-radius:50%}.portfolio-blocked::before{background:#ffa597;border-radius:2px}
.portfolio-note{color:#9eb7cb;font-size:12px;margin:12px 0 0;text-align:center}
.projects .project-list-card{--project-accent:#207d65;border:1px solid #cfe4dd;border-inline-start:5px solid var(--project-accent);border-radius:18px;background:linear-gradient(140deg,#f0fbf7,#fff 55%);box-shadow:0 5px 18px #17364a0a;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.projects .project-theme-preparation{--project-accent:#ba7818;border-color:#eaddc5;border-inline-start-color:var(--project-accent);background:linear-gradient(140deg,#fff8eb,#fff 55%)}
.projects .project-theme-completed{--project-accent:#357eba;border-color:#d5e4f0;border-inline-start-color:var(--project-accent);background:linear-gradient(140deg,#eff8ff,#fff 55%)}
.projects .project-theme-blocked{--project-accent:#b95946;border-color:#eedbd4;border-inline-start-color:var(--project-accent);background:linear-gradient(140deg,#fff3ee,#fff 55%)}
.projects .project-card{padding:20px;border:0;border-radius:0;background:transparent;box-shadow:none;flex:1;min-width:0;transition:none}
.projects .project-card:hover{transform:none;background:#ffffff55}.projects .project-card[href]:focus-visible{outline:2px solid #2467ad;outline-offset:-4px;border-radius:14px}
.project-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.project-card-heading h2{font-size:22px;font-weight:800;line-height:1.4;color:#183c54;overflow-wrap:anywhere;min-width:0;flex:1 1 150px;margin:0}
.project-state{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:800;padding:5px 10px;border-radius:99px;white-space:nowrap;background:#e2f4eb;color:#16624b;border:1px solid #b9dfcc;flex-shrink:0}
.project-state::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.project-state.state-active{font-weight:900;color:#0c654b;background:#d5f5e5;border-color:#9ad8ba}.project-state.state-completed{background:#e4f1fc;color:#245e90;border-color:#c3def2}.project-state.state-preparation{background:#fff0ce;color:#89570a;border-color:#eed6a1}.project-state.state-blocked{background:#fce6df;color:#9b4334;border-color:#edc7ba}.project-state.state-blocked::before{border-radius:2px}
.project-card-code{font-size:13px;color:#5a7587;margin-top:10px;overflow-wrap:anywhere}.project-client{font-size:15px;color:#395a70;margin:6px 0 0;overflow-wrap:anywhere}
.project-task-preview{margin-top:18px;padding-top:12px;border-top:1px solid #abc3cf3b}.project-task-preview>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:#3b5c71}.project-task-preview strong{color:var(--project-accent);font-size:17px}
.project-preview-track{height:6px;border-radius:99px;background:#d9e5eb;overflow:hidden;margin-top:8px}.project-preview-fill{display:block;height:100%;background:var(--project-accent);border-radius:99px}
.project-task-preview small{display:block;margin-top:6px;font-size:12px;color:#577184}.project-no-plan{font-size:13px;color:#607b8c;margin:16px 0 0}
.project-open-label{display:block;font-size:14px;font-weight:800;color:var(--project-accent);margin-top:17px}
.projects .project-card-actions{padding:10px 14px;border-top:1px solid #c5d9e244;background:#ffffff88;flex-wrap:wrap;gap:8px}.projects .project-card-actions button{background:transparent;border-color:#d4dfe5;font-size:12px}
@media(max-width:600px){.portfolio-dashboard{padding:20px 14px;border-radius:20px}.portfolio-heading{gap:10px;margin-bottom:20px}.portfolio-heading h2{font-size:21px}.portfolio-heading p{font-size:13px}.portfolio-total{font-size:12px;padding:5px 10px}.portfolio-metrics{gap:12px}.portfolio-ring{width:112px}.portfolio-ring>strong{font-size:30px}.portfolio-metric h3{font-size:15px;min-height:42px}.portfolio-metric p{font-size:12px;margin-top:4px}.portfolio-states{margin-top:18px;padding-top:14px}.portfolio-states>span{font-size:12px;padding:5px 9px}.portfolio-note{font-size:11px}.projects .project-card{padding:18px 15px}.project-card-heading h2{font-size:21px}}
@media(max-width:350px){.portfolio-metrics{gap:9px}.portfolio-ring>strong{font-size:26px}.portfolio-metric h3{font-size:14px}}

/* Preserve the full transparent HTG wordmark at its natural aspect ratio. */
.topbar .brand{--brand-logo-width:270px;position:relative;grid-template-columns:minmax(0,1fr) var(--brand-logo-width);grid-template-rows:auto auto;align-content:center;min-height:58px}
.topbar .brand-logo{position:static;grid-column:2;grid-row:1 / 3;inset:auto;top:auto;width:var(--brand-logo-width);height:auto;margin:0;align-self:center;border-radius:0}
.topbar .brand-company{align-self:end}
.topbar .brand small{align-self:start}
@media(max-width:700px){.topbar .brand{--brand-logo-width:min(44vw,180px)}.topbar .brand{min-height:48px}}

.supplier-quote-card{padding:16px;border:1px solid #d8e6ef;border-inline-start:4px solid #79b9e8;border-radius:13px;background:#f8fcff;margin:12px 0;min-width:0;overflow-wrap:anywhere}
.supplier-quote-card h3{font-size:19px;color:#183e59;margin:0;font-weight:800}.supplier-quote-card p{font-size:16px;margin:5px 0}.supplier-quote-card .meta{font-size:13px}
.supplier-quote-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.supplier-quote-actions button{font-size:14px;min-height:40px}.supplier-quotes .budget-data-note{margin-top:18px}

.supplier-quote-price{margin:8px 0}.supplier-quote-price>strong{display:inline-block;font-size:24px;color:#176657;font-weight:800}
.supplier-quote-price-edit{margin-top:12px;padding-top:10px}.supplier-quote-price-edit>summary{font-size:14px;color:#245b7c}

.quote-money-fields{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:end}.quote-money-fields label{min-width:0}.quote-money-fields input,.quote-money-fields select{width:100%;min-width:0}

.certificate-heading{display:flex;align-items:center;gap:20px;border-bottom:1px solid #dce9ef;padding-bottom:16px;margin-bottom:16px}.certificate-heading img{width:130px;max-width:30%;height:auto}.certificate-heading h2{font-size:23px;margin:0 0 6px}.certificate-heading p{margin:0;color:#537183}.certificate-times{display:grid;grid-template-columns:1fr 1fr;gap:16px}.signature-area{padding:14px;background:#f3f8fb;border-radius:14px}.signature-area canvas{display:block;width:100%;height:150px;border:2px dashed #85a9bc;background:white;border-radius:8px;touch-action:none;margin:12px 0}.signature-area p{font-size:15px}.certificate-card{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:18px;border:1px solid #dce9ef;border-right:5px solid #129a89;border-radius:14px;margin:12px 0;background:#fbfefd}.certificate-card h4{margin:8px 0}.certificate-card p{white-space:pre-wrap;overflow-wrap:anywhere}.certificate-card>div{min-width:0}.certificate-approved{color:#087462;background:#d9f6ec;padding:4px 10px;border-radius:20px;font-weight:700;font-size:14px}.certificate-card button{flex-shrink:0}@media(max-width:500px){.certificate-heading{gap:12px}.certificate-heading h2{font-size:20px}.certificate-card{align-items:stretch;flex-direction:column}.certificate-times{gap:10px}.work-certificates fieldset{min-width:0}.certificate-times input{min-width:0;width:100%}}

.project-name-form{flex-wrap:wrap}.project-name-form label{min-width:0;flex:1 1 180px}.project-name-form input{width:100%;box-sizing:border-box}.project-name-form .actions{flex-wrap:wrap}

.project-header .project-details-edit{width:auto;flex:0 1 auto;gap:5px;min-height:44px;height:auto}.project-details-edit span{font-size:13px}

.supplier-quotes .quote-money-fields{grid-template-columns:repeat(2,minmax(0,1fr)) 100px}.supplier-quote-price>span{display:block;font-size:13px}.supplier-quote-shipping{margin-bottom:8px}.supplier-quote-description{white-space:pre-wrap;overflow-wrap:anywhere}.supplier-quotes textarea{width:100%;box-sizing:border-box;resize:vertical;min-width:0}
@media(max-width:520px){.supplier-quotes .quote-money-fields{grid-template-columns:minmax(0,1fr)} }
.quote-total{padding:10px 0;border-top:1px solid #d8e3e8;margin-top:10px;overflow-wrap:anywhere}.quote-total>strong{display:block;font-size:20px;color:#176657;margin-top:5px}

/* Customer quotes */
#main-nav [hidden],#main-nav.quote-workspace-nav a:not(.workspace-switch){display:none}
#main-nav .workspace-switch:not([hidden]){
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-block-start:12px;padding:10px 12px;border:1px solid #25435e;border-radius:10px;
  background:#112a40;color:#fff;font-weight:700;text-align:center;min-height:44px;
}
#main-nav .workspace-switch:hover,#main-nav .workspace-switch:focus-visible{background:#23465f}
#main-nav.quote-workspace-nav .workspace-switch{margin-block-start:0}
@media(max-width:700px){
  #main-nav .workspace-switch:not([hidden]){flex:1 0 100%;margin-block-start:4px;padding:9px 12px}
}
.quote-count{display:inline-block;min-width:1.5em;border-radius:20px;padding:0 .35em;background:var(--brand);color:white;text-align:center;font-size:.8em}
.quote-count[hidden]{display:none}
.customer-quotes{max-width:920px;overflow-wrap:anywhere}
.customer-quotes h1{margin-bottom:16px}
.quote-list{display:grid;gap:10px}
.customer-quote,.quote-create{padding:0;margin:0;box-shadow:none;min-width:0}
.quote-create{margin-bottom:16px}
.customer-quotes summary{padding:14px 16px;cursor:pointer;color:var(--brand);font-weight:700}
.customer-quotes .quote-documents .create-action>summary{color:#fff}
.customer-quotes summary:focus-visible{outline-offset:-3px}
.quote-preview{display:inline-grid;vertical-align:middle;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px 16px;width:calc(100% - 1.3em)}
.quote-preview>span:not(.quote-badges){font-weight:400;color:var(--text)}
.quote-badges{display:flex;flex-wrap:wrap;align-items:center;gap:5px;max-width:100%}
.quote-source{border-radius:20px;padding:3px 10px;font-size:14px}
.quote-source-website{background:#dff2ff;color:#145078}
.quote-source-manual{background:#dff5e7;color:#1b5c38}
.quote-source-other{background:#eee5fa;color:#573582}
.quote-status{justify-self:start;background:var(--brand-soft);color:var(--brand);border-radius:20px;padding:3px 10px;font-size:14px}
.quote-status-requested{background:#fff0cf;color:#714500}
.quote-body{border-top:1px solid var(--line);padding:16px}
.quote-documents{margin-bottom:20px}
.quote-documents .row>div{min-width:0}
.quote-documents .row>button{flex-shrink:0}
.quote-delete{margin-top:16px;text-align:end}
.quote-delete button{color:var(--red);font-size:14px;padding:6px 10px;min-height:40px}
.quote-delete .error:empty{display:none}
.quote-form [data-initial-classifications]:not([hidden]){display:grid;gap:10px}
.quote-details{margin:0 0 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
.quote-details dt{color:var(--muted);font-size:14px}
.quote-details dd{margin:0;white-space:pre-wrap}
.quote-create .quote-form{padding:0 16px 16px}
.quote-form label{min-width:0}
.quote-form input,.quote-form select,.quote-form textarea{min-width:0;max-width:100%}
.quote-form textarea{display:block;width:100%;font:inherit;margin-top:5px;padding:10px;border:1px solid #aebdc5;border-radius:8px;resize:vertical}
.quote-form .error{margin:0}
.quote-form .error:empty{display:none}
.quote-form button{justify-self:start}
.quote-history{padding-inline-start:22px;margin:8px 0 20px}
.quote-history li{padding:5px 0}
.quote-history time{color:var(--muted);font-size:14px;margin-inline-start:8px}
@media(max-width:700px){
  .quote-preview{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .quote-preview>strong{grid-column:1/-1}
  .quote-details{grid-template-columns:1fr}
}
@media(max-width:360px){
  .quote-preview{grid-template-columns:minmax(0,1fr)}
}

.quote-dashboard{margin-block-end:16px}
.quote-dashboard .portfolio-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.quote-dashboard .portfolio-heading{align-items:center}
.quote-dashboard .quote-stage{
  display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;
  padding:10px 6px;background:#ffffff08;color:#f1f7fc;
  border:1px solid #9abbd03b;border-radius:14px;text-align:center;line-height:1.35;
}
.quote-stage:nth-child(2){--portfolio-color:#ffca78}
.quote-stage:nth-child(3){--portfolio-color:#b6a9f6}
.quote-stage:nth-child(4){--portfolio-color:#69e5bc}
.quote-stage .portfolio-ring{display:block;width:min(80%,80px)}
.quote-stage .portfolio-ring-track{stroke:#39566b}
.quote-stage-label{font-weight:700;color:var(--portfolio-color)}
.quote-stage small{font-size:.78rem;color:#d4e5f0}
.quote-dashboard .quote-total-filter{background:#ffffff08;color:#e5f2fb;min-height:44px}
.quote-dashboard button[aria-pressed="true"],.quote-dashboard button:hover{
  border-color:#79c6ff;background:#25435e;color:#fff;
}
.quote-updated-date{font-size:.8rem;color:var(--muted)}
.quote-document-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.quote-archive summary{cursor:pointer;font-weight:700}
.quote-archive-dialog{inline-size:min(92vw,480px);max-inline-size:92vw;border:1px solid #cddbdd;border-radius:14px;padding:20px;color:var(--text);overflow-wrap:anywhere}
.quote-archive-dialog::backdrop{background:#10242d88}
@media(max-width:600px){.quote-dashboard .portfolio-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.home-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:14px}
.home-section{display:block;margin:0;padding:16px 18px;text-decoration:none}
.home-section:hover,.home-section:focus-visible{border-color:#79c6ff}
.home-section h2{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;color:#fff;font-size:1.15rem}
.home-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}
.home-metrics div{display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-end;gap:7px;padding:8px 2px;background:#ffffff0d;border-radius:8px;text-align:center;min-width:0}
.home-metrics dt{font-size:.75rem;line-height:1.3;color:#d4e5f0}
.home-metrics dd{margin:0;width:100%;display:grid;justify-items:center}
.home-ring{--home-color:#79c6ff;position:relative;display:grid;place-items:center;width:min(100%,58px);aspect-ratio:1;font-size:1.15rem;font-weight:700;color:#fff}
.home-ring svg{position:absolute;inset:0;width:100%;height:100%}
.home-ring circle{fill:none;stroke-width:6}
.home-ring-track{stroke:#39566b}
.home-ring-fill{stroke:var(--home-color);stroke-linecap:round}
.home-ring bdi{position:relative}
.home-metrics div:nth-child(2) .home-ring{--home-color:#ffca78}
.home-metrics div:nth-child(3) .home-ring{--home-color:#b6a9f6}
.home-metrics div:nth-child(4) .home-ring{--home-color:#69e5bc}
