:root{--ink:#10231a;--muted:#647169;--green:#23633b;--green-dark:#133d25;--blue:#086894;--blue-dark:#064b6b;--cream:#f5f4ef;--white:#fff;--line:#dce3de;--gold:#9a7820;--shadow:0 18px 50px rgba(16,35,26,.11);--radius:18px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:15px/1.6 "DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.topline{padding:7px 0;color:#dce9e0;background:var(--green-dark);font-size:12px}.topline .wrap{display:flex;justify-content:space-between}.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:80px}.logo img{width:135px;max-height:58px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:28px;font-weight:600}.nav-links>a:not(.nav-action){position:relative}.nav-links>a:not(.nav-action)::after{position:absolute;right:0;bottom:-9px;left:0;height:2px;content:"";background:var(--blue);transform:scaleX(0);transition:.2s}.nav-links>a.active::after,.nav-links>a:hover::after{transform:scaleX(1)}.account-actions{display:flex;gap:10px;margin-left:10px}.nav-action{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border:1px solid var(--blue);border-radius:7px;color:var(--blue);font-size:13px;font-weight:700}.nav-action.solid{border-color:var(--green);color:white;background:var(--green)}.menu{display:none;width:44px;height:44px;border:0;border-radius:7px;color:white;background:var(--green);font-size:22px}.page-hero{padding:68px 0 46px;background:white}.eyebrow{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.page-hero h1{margin:8px 0 12px;font:800 clamp(36px,5vw,58px)/1.08 "Manrope",Arial,sans-serif;letter-spacing:-.04em}.page-hero h1 span{color:var(--blue)}.page-hero p{max-width:680px;margin:0;color:var(--muted);font-size:17px}.site-footer{padding:30px 0;color:#cbd8cf;background:#0b2014}.site-footer .wrap{display:flex;justify-content:space-between;gap:20px}.site-footer strong{color:white}.project-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;min-height:610px;background:white}.map-wrap{position:relative;min-height:610px}.map{position:absolute;inset:0}.legend{position:absolute;bottom:24px;left:24px;z-index:500;padding:20px 24px;border-top:4px solid var(--blue);background:white;box-shadow:var(--shadow)}.legend strong{display:block;margin-bottom:12px;color:var(--blue);font-size:12px;letter-spacing:.13em}.legend span{display:block;margin:7px 0;color:var(--muted)}.dot{display:inline-block;width:11px;height:11px;margin-right:9px;border-radius:50%}.blue{background:#2f6899}.green{background:#397049}.gold{background:#98761f}.project-panel{border-left:1px solid var(--line);background:#fff}.panel-head{padding:28px;border-bottom:1px solid var(--line);background:#f1f0ec}.panel-head h2{margin:0 0 3px;font:700 21px "Manrope"}.panel-head p{margin:0;color:var(--muted)}.project-search{padding:18px;border-bottom:1px solid var(--line)}.project-search input{width:100%;padding:14px;border:1px solid var(--line);background:#f8f8f6;outline:none}.project-list{max-height:480px;overflow:auto}.project-item{display:block;width:100%;padding:17px 20px;border:0;border-bottom:1px solid var(--line);background:white;text-align:left}.project-item:hover,.project-item.active{background:#edf4ef}.project-item strong{display:block;color:var(--ink)}.project-item span{color:var(--muted);font-size:12px}.project-detail{display:none;padding:28px}.project-detail.open{display:block}.project-detail .tag{display:inline-block;padding:4px 9px;border-radius:20px;color:var(--blue);background:#e7f1f5;font-size:11px;font-weight:700;text-transform:uppercase}.project-detail h3{font:800 24px/1.2 "Manrope"}.project-detail dl{display:grid;grid-template-columns:80px 1fr;gap:8px;margin:20px 0}.project-detail dt{color:var(--muted)}.empty-state{padding:70px 25px;color:#9aa39d;text-align:center}.reviews-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding:70px 0 90px}.review-summary{padding:35px;border-radius:var(--radius);color:white;background:linear-gradient(135deg,var(--green-dark),var(--blue-dark))}.review-summary h2{font:800 30px "Manrope"}.score{margin:25px 0;font:800 56px/1 "Manrope"}.stars{color:#e6c85b;letter-spacing:5px}.review-summary blockquote{margin:35px 0 0;padding:22px;border-left:3px solid #b8d653;background:rgba(255,255,255,.08)}.review-form{padding:38px;border-radius:var(--radius);background:white;box-shadow:var(--shadow)}.review-form h2{margin-top:0;font:800 28px "Manrope"}.field{display:grid;gap:7px;margin-bottom:17px;color:var(--muted);font-size:12px;font-weight:700}.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:7px;background:#fafbf9;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,104,148,.1)}.field textarea{min-height:130px;resize:vertical}.rating-buttons{display:flex;gap:8px}.rating-buttons button{padding:4px;border:0;color:#bcc3be;background:none;font-size:30px}.rating-buttons button.on{color:#d4ad32}.primary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:0;border-radius:7px;color:white;background:var(--green);font-weight:700}.form-note{display:none;margin-top:14px;color:var(--green);font-weight:700}.account-page{min-height:calc(100vh - 117px);display:grid;place-items:center;padding:55px 20px;background:linear-gradient(135deg,#edf3ee,#e7f0f5)}.account-card{width:min(500px,100%);padding:38px;border-radius:var(--radius);background:white;box-shadow:var(--shadow)}.account-card h1{margin:0 0 8px;font:800 32px "Manrope"}.account-card>p{margin-top:0;color:var(--muted)}.role-tabs{display:flex;align-items:center;justify-content:center;gap:18px;margin:27px 0 24px;padding:7px;border-radius:9px;background:#f1f4f1}.role-tabs span{color:#aab4ad}.role-tabs button{padding:9px 22px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.role-tabs button.active{color:white;background:var(--green);box-shadow:0 4px 12px rgba(35,99,59,.2)}.account-form{display:none}.account-form.active{display:block}.helper{margin:18px 0 0;color:var(--muted);font-size:13px;text-align:center}.helper a,.account-switch a{color:var(--blue);font-weight:700}.account-switch{margin:24px -38px -38px;padding:20px;border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:#f8faf8;color:var(--muted);text-align:center}.account-message{display:none;margin:15px 0 0;padding:11px 13px;border-radius:7px;font-size:13px;font-weight:600}.account-message.success,.account-message.error{display:block}.account-message.success{color:var(--green);background:#eaf4ed}.account-message.error{color:#963c37;background:#faecea}.employee-access{display:none;padding:22px;border-left:3px solid var(--blue);background:#edf5f8;color:var(--muted)}.employee-access strong{display:block;color:var(--ink)}.employee-access p{margin:7px 0 0}.submit-account:disabled{cursor:wait;opacity:.65}@media(max-width:940px){.nav-links{gap:15px;font-size:13px}.project-layout{grid-template-columns:1fr}.map-wrap{min-height:480px}.project-panel{border-left:0}.reviews-shell{grid-template-columns:1fr}}@media(max-width:760px){.topline .wrap{justify-content:center}.topline span:last-child{display:none}.menu{display:block}.nav-links{position:absolute;top:80px;right:0;left:0;display:none;padding:16px 20px 22px;background:white;box-shadow:var(--shadow)}.nav-links.open{display:grid}.nav-links a{padding:10px}.account-actions{margin:8px 0 0}.project-layout{display:block}.map-wrap{min-height:420px}.project-panel{min-height:420px}.site-footer .wrap{flex-direction:column;text-align:center}}@media(max-width:500px){.wrap{width:min(calc(100% - 28px),var(--max))}.page-hero{padding:46px 0 34px}.legend{right:14px;bottom:14px;left:14px;padding:14px 18px}.reviews-shell{padding:42px 0}.review-form,.review-summary,.account-card{padding:25px}.account-switch{margin:24px -25px -25px}}
:root{}
.role-tabs button[data-role="employee"].active{background:var(--blue);box-shadow:0 4px 12px rgba(8,104,148,.2)}
.role-context{display:grid;gap:2px;margin:-8px 0 22px;padding:13px 15px;border-left:3px solid var(--green);background:#edf4ef;color:var(--muted);font-size:12px}
.role-context strong{color:var(--ink);font-size:14px}
.role-context.employee{border-left-color:var(--blue);background:#edf5f8}
