:root{--navy: #2D1040;--navy-mid: #4A2060;--navy-dark: #1E0A2C;--navy-light: #EEE0F8;--brick: #C96A3D;--brick-dark: #A0511E;--brick-light: #F7E8DC;--concrete: #9CA3AF;--concrete-dark: #6B7280;--concrete-light: #F3F4F6;--sand: #E7D7BE;--sand-dark: #C9B899;--sand-light: #FAF7F1;--white: #FFFFFF;--success: #16A34A;--success-bg: #DCFCE7;--danger: #DC2626;--danger-bg: #FEE2E2;--warning: #CA8A04;--warning-bg: #FEF9C3;--bg-main: #F0EBE0;--bg-secondary: #F9FAFB;--surface: #FFFFFF;--sh-xs: 0 1px 4px rgba(45, 16, 64, .07);--sh-sm: 0 2px 8px rgba(45, 16, 64, .09);--sh-md: 0 6px 24px rgba(45, 16, 64, .12);--sh-lg: 0 12px 40px rgba(45, 16, 64, .18);--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Cairo", Roboto, "Helvetica Neue", sans-serif;--z-sidebar: 200;--z-topbar: 100;--z-modal: 500;--border: var(--sand);--card: var(--white);--hover: var(--concrete-light);--bg: var(--bg-secondary);--muted: var(--concrete-dark);--text: var(--navy);--btnBg: var(--concrete-light)}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font);background:var(--bg-main);color:var(--navy);display:flex;width:100%;height:100vh;min-height:100vh;direction:rtl;font-size:14px;overflow:hidden}.sidebar{width:68px;height:100vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;background:var(--navy);display:flex;flex-direction:column;align-items:center;position:fixed;top:0;right:0;z-index:var(--z-sidebar);padding:16px 0;gap:4px;border-left:1px solid rgba(255,255,255,.05)}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sb-logo{width:42px;height:42px;border-radius:var(--r-sm);object-fit:contain;box-shadow:0 4px 12px #c96a3d66;margin-bottom:20px;flex-shrink:0}.sb-icon{width:46px;height:46px;border-radius:var(--r-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .18s;position:relative;color:#ffffff59;text-decoration:none;gap:2px;flex-shrink:0}.sb-icon:hover{background:#ffffff12;color:#fffc}.sb-icon.active{background:#c96a3d38;color:var(--brick)}.sb-icon.active:before{content:"";position:absolute;right:0;top:25%;bottom:25%;width:3px;background:var(--brick);border-radius:3px 0 0 3px}.sb-icon span{font-size:18px;line-height:1}.sb-icon small{font-size:8px;font-weight:600;line-height:1}.sb-bottom{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;padding-top:8px}#root{width:100%;height:100vh;display:flex;flex:1}.app-layout{margin-right:68px;flex:1;display:flex;flex-direction:column;width:calc(100% - 68px);height:100%;overflow:hidden}.header{height:56px;background:#faf7f1f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--sand);padding:0 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:var(--z-topbar)}.header-left{display:flex;align-items:center;gap:16px}.header-title{font-size:16px;font-weight:800;color:var(--navy);display:flex;align-items:center}.header-title-sep{margin:0 6px;font-weight:300;color:var(--concrete);opacity:.6}.header-title-page{font-size:13px;font-weight:600;color:var(--concrete-dark)}.header-date{font-size:12px;color:var(--concrete-dark)}.header-right{display:flex;align-items:center;gap:8px}.header-btn{width:34px;height:34px;border-radius:var(--r-sm);background:var(--white);border:1px solid var(--sand);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:all .18s;text-decoration:none}.header-btn:hover{background:var(--brick-light);border-color:var(--brick)}.container{flex:1;padding:24px 28px;overflow-y:auto;overflow-x:hidden;height:100%}.status-bar{display:flex;gap:12px;margin-bottom:20px;background:var(--navy);border-radius:var(--r-lg);padding:16px 20px;align-items:center;box-shadow:var(--sh-md)}.status-item{display:flex;align-items:center;gap:8px;flex:1}.status-num{font-size:26px;font-weight:900;color:#fff;line-height:1}.status-info{display:flex;flex-direction:column}.status-label{font-size:10px;color:#ffffff80;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.status-change{font-size:11px;font-weight:600}.sc-up{color:#4ade80}.sc-down{color:#fca5a5}.status-div{width:.5px;background:#ffffff1f;align-self:stretch}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-brick{background:var(--brick);box-shadow:0 0 6px #c96a3d99}.dot-green{background:#4ade80;box-shadow:0 0 6px #4ade8099}.dot-yellow{background:#fde047;box-shadow:0 0 6px #fde04799}.dot-gray{background:var(--concrete)}.layout{display:grid;grid-template-columns:1fr 340px;gap:16px}.section-title{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:12px;display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:3px;height:14px;background:var(--brick);border-radius:3px;display:block}.section-title span{color:var(--concrete-dark);font-weight:400;font-size:12px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.action-btn{background:var(--white);border-radius:var(--r-md);border:1px solid var(--sand);box-shadow:var(--sh-xs);padding:14px 16px;cursor:pointer;transition:all .22s;display:flex;align-items:center;gap:12px;text-decoration:none}.action-btn:hover{transform:translateY(-2px);box-shadow:var(--sh-md);border-color:var(--brick)}.action-btn.primary{background:var(--brick);border-color:var(--brick);box-shadow:0 4px 14px #c96a3d59}.action-btn.primary:hover{background:var(--brick-dark)}.ab-icon{width:38px;height:38px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.ab-text-title{font-size:13px;font-weight:700;color:var(--navy)}.ab-text-sub{font-size:11px;color:var(--concrete-dark)}.action-btn.primary .ab-text-title{color:#fff}.action-btn.primary .ab-text-sub{color:#ffffffb3}.proj-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.proj-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--sand);box-shadow:var(--sh-sm);padding:0;overflow:hidden;cursor:pointer;transition:all .22s;display:flex;flex-direction:column;text-decoration:none;animation:slideDown .4s ease both}@keyframes slideDown{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.proj-card:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:var(--brick)}.proj-status-bar{width:5px;flex-shrink:0}.psb-red{background:var(--danger)}.psb-green{background:var(--success)}.psb-orange{background:var(--brick)}.psb-gray{background:var(--concrete)}.psb-navy{background:var(--navy)}.proj-content{flex:1;padding:14px 16px;display:flex;align-items:center;gap:14px}.proj-thumb{width:48px;height:48px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.proj-info{flex:1}.proj-name{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:3px}.proj-meta{font-size:11px;color:var(--concrete-dark);display:flex;gap:10px;align-items:center}.proj-meta span{display:flex;align-items:center;gap:4px}.proj-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.proj-badge{font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px}.pb-red{background:var(--danger-bg);color:var(--danger)}.pb-green{background:var(--success-bg);color:var(--success)}.pb-orange{background:var(--brick-light);color:var(--brick-dark)}.pb-gray{background:var(--concrete-light);color:var(--concrete-dark)}.pb-navy{background:var(--navy-light);color:var(--navy)}.prog-mini{display:flex;align-items:center;gap:6px}.prog-bar-mini{width:80px;height:4px;background:var(--sand);border-radius:4px;overflow:hidden}.prog-fill-mini{height:100%;border-radius:4px}.prog-pct{font-size:10px;font-weight:700;color:var(--navy)}.page-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-heading{font-size:20px;font-weight:800;color:var(--navy)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.projects-empty{grid-column:1 / -1;text-align:center;padding:48px 0}.proj-card-accent{height:4px;width:100%;flex-shrink:0}.proj-card-body{padding:18px;display:flex;flex-direction:column;gap:14px;flex:1}.proj-card-icon{width:48px;height:48px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.proj-card-name{font-size:17px;font-weight:800;color:var(--navy);line-height:1.3;margin-bottom:4px}.proj-card-num{font-size:11px;color:var(--concrete-dark);font-weight:500}.proj-card-meta{display:flex;flex-direction:column;gap:6px}.proj-meta-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--concrete-dark)}.proj-meta-row span:first-child{font-size:14px;flex-shrink:0}.proj-dates{font-size:11px;font-family:monospace}.proj-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.proj-progress-label{font-size:11px;font-weight:600;color:var(--concrete-dark)}.proj-progress-pct{font-size:13px;font-weight:800}.proj-progress-track{height:5px;background:var(--sand);border-radius:5px;overflow:hidden}.proj-progress-fill{height:100%;border-radius:5px;transition:width .6s ease}.proj-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid var(--sand)}.proj-status-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--white);border-radius:var(--r-lg);width:100%;max-width:580px;max-height:88vh;overflow-y:auto;box-shadow:var(--sh-lg);animation:modalIn .22s ease both}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:20px 24px;border-bottom:1px solid var(--sand);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--white);z-index:1}.modal-title{font-size:16px;font-weight:800;color:var(--navy)}.modal-close{width:30px;height:30px;background:none;border:none;cursor:pointer;font-size:14px;color:var(--concrete-dark);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;transition:all .18s}.modal-close:hover{background:var(--concrete-light);color:var(--navy)}.modal-body{padding:24px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--sand);margin-top:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{display:flex;flex-direction:column}.right-panel{display:flex;flex-direction:column;gap:14px}.panel-card{background:var(--white);border-radius:var(--r-md);border:1px solid var(--sand);box-shadow:var(--sh-xs);overflow:hidden}.panel-head{padding:12px 16px;border-bottom:1px solid var(--sand);font-size:13px;font-weight:700;color:var(--navy);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,rgba(45,16,64,.03),transparent)}.panel-head a{font-size:11px;font-weight:500;color:var(--brick);text-decoration:none}.panel-head a:hover{text-decoration:underline}.act-item{display:flex;align-items:flex-start;gap:10px;padding:11px 16px;border-bottom:1px solid #FAF7F1}.act-item:last-child{border-bottom:none}.act-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.act-text{font-size:12px;color:var(--navy);line-height:1.5;flex:1}.act-time{font-size:10px;color:var(--concrete-dark);white-space:nowrap}.site-row{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-bottom:1px solid #FAF7F1}.site-row:last-child{border-bottom:none}.site-name{font-size:12px;font-weight:600;color:var(--navy)}.site-detail{font-size:10px;color:var(--concrete-dark);margin-top:2px}.site-workers{font-size:11px;font-weight:700;color:var(--brick)}input,select,textarea{width:100%;padding:8px 12px;border:1px solid var(--sand);border-radius:var(--r-md);background:var(--white);color:var(--navy);font-family:inherit;font-size:13px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brick);box-shadow:0 0 0 3px #c96a3d1a}label{display:block;font-size:12px;font-weight:600;color:var(--navy);margin-bottom:6px}textarea{min-height:100px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;border:none;border-radius:var(--r-md);cursor:pointer;transition:all .18s;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brick);color:#fff;box-shadow:0 4px 12px #c96a3d4d}.btn.primary:hover:not(:disabled){background:var(--brick-dark)}.btn.secondary{background:var(--white);color:var(--navy);border:1px solid var(--sand);box-shadow:var(--sh-xs)}.btn.secondary:hover:not(:disabled){background:var(--brick-light);border-color:var(--brick)}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover:not(:disabled){background:#b91c1c}.btn.sm{padding:6px 12px;font-size:11px}.btn.lg{padding:12px 24px;font-size:14px}.btn.full{width:100%}.table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm)}.table th{background:var(--concrete-light);padding:12px 16px;text-align:right;font-weight:600;color:var(--navy);border-bottom:2px solid var(--sand);font-size:12px}.table td{padding:12px 16px;border-bottom:1px solid var(--sand);color:var(--concrete-dark);vertical-align:middle;text-align:right}.table tr:hover{background:var(--sand-light)}.table tr:last-child td{border-bottom:none}.card{background:var(--white);border:1px solid var(--sand);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-sm)}.card:hover{box-shadow:var(--sh-md);border-color:var(--brick)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.site-block{border:1px solid var(--sand);border-radius:var(--r-md);overflow:hidden;margin-bottom:12px;box-shadow:var(--sh-xs)}.site-block-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--concrete-light);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .18s}.site-block-header:hover{background:var(--brick-light)}.site-block-chevron{font-size:16px;color:var(--concrete-dark);transition:transform .18s;line-height:1;flex-shrink:0}.site-block-header.open .site-block-chevron{transform:rotate(-180deg)}.site-block-body{padding:16px;background:var(--white);border-top:1px solid var(--sand)}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.muted{color:var(--concrete-dark)}.text-navy{color:var(--navy)}.text-brick{color:var(--brick)}.hidden{display:none!important}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.mt-md{margin-top:16px}.mb-md{margin-bottom:16px}.gap-md{gap:16px}.divider{border:none;border-top:1px solid var(--sand);margin:16px 0}@media (max-width: 1024px){.layout{grid-template-columns:1fr}.right-panel{grid-template-columns:repeat(2,1fr);flex-direction:row}}@media (max-width: 768px){.sidebar{width:60px;padding:12px 0;gap:2px}.sb-icon{width:40px;height:40px}.sb-icon span{font-size:16px}.sb-icon small{font-size:7px}.app-layout{margin-right:60px;width:calc(100% - 60px)}.header{padding:0 16px;height:52px}.header-title{font-size:14px}.header-date{display:none}.container{padding:16px}.status-bar{flex-direction:column;gap:8px;padding:12px 16px}.status-item{width:100%}.status-div{display:none}.actions{grid-template-columns:1fr}.modal{width:95vw;padding:16px}}@media (max-width: 480px){.sidebar{width:56px}.app-layout{margin-right:56px;width:calc(100% - 56px)}.container{padding:12px}.header{padding:0 12px;gap:8px}.status-bar{flex-direction:column;padding:10px 12px;gap:6px}.status-num{font-size:20px}.proj-content{padding:10px 12px;gap:10px}.proj-thumb{width:40px;height:40px;font-size:18px}.proj-right{flex-direction:row;gap:8px}.table{font-size:12px}.table th,.table td{padding:8px 12px}}.phase-accordion{border:1px solid var(--border);border-radius:var(--r-md, 8px);margin-bottom:8px;overflow:hidden}.phase-accordion-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;background:var(--card);-webkit-user-select:none;user-select:none;transition:background .12s}.phase-accordion-header:hover{background:var(--hover, rgba(0,0,0,.04))}.phase-accordion-body{padding:14px;border-top:1px solid var(--border);background:var(--bg)}.task-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.task-card{border:1px solid var(--border);border-radius:var(--r-sm, 6px);overflow:hidden}.task-card-header{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;cursor:pointer;background:var(--card);transition:background .12s}.task-card-header:hover{background:var(--hover, rgba(0,0,0,.04))}.task-card-body{padding:12px;border-top:1px solid var(--border);font-size:12px;background:var(--bg)}.badge-not_started{background:#6b72801f;color:var(--muted)}.badge-in_progress{background:#3b82f61f;color:#3b82f6}.task-status-completed{background:#34d3991f;color:#34d399}.resource-table{width:100%;font-size:12px;border-collapse:collapse;margin-top:6px}.resource-table th{text-align:right;padding:4px 8px;color:var(--muted);font-weight:500;border-bottom:1px solid var(--border);white-space:nowrap}.resource-table td{padding:5px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.resource-table tr:last-child td{border-bottom:none}.phase-progress-readonly{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:4px}.guardrail-alert{background:#dc262614;border:1px solid rgba(220,38,38,.3);color:#dc2626;border-radius:var(--r-sm, 6px);padding:8px 12px;font-size:13px;margin-bottom:10px}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:3px}.info-item label{font-size:11px;font-weight:600;color:var(--concrete-dark);text-transform:uppercase;letter-spacing:.04em;margin-bottom:0}.info-item span{font-size:13px;color:var(--navy);font-weight:500;line-height:1.4}.progress-bar-wrap{height:6px;background:var(--sand);border-radius:6px;overflow:hidden;flex:1;min-width:60px}.progress-bar-fill{height:100%;background:var(--brick);border-radius:6px;transition:width .5s ease}.badge-active,.badge-completed{background:var(--success-bg);color:var(--success)}.badge-planning{background:var(--navy-light);color:var(--navy)}.badge-suspended{background:var(--warning-bg);color:var(--warning)}.badge-canceled{background:var(--danger-bg);color:var(--danger)}.badge-pending{background:var(--concrete-light);color:var(--concrete-dark)}.phase-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;font-size:11px;font-weight:600;font-family:inherit;border:none;border-radius:var(--r-sm);cursor:pointer;background:var(--concrete-light);color:var(--navy);transition:opacity .15s;white-space:nowrap;flex-shrink:0}.phase-action-btn.primary{background:var(--brick);color:#fff}.phase-action-btn:hover:not(:disabled){opacity:.82}.phase-action-btn:disabled{opacity:.5;cursor:not-allowed}.phase-locked{font-size:14px}.phase-locked-row{opacity:.6}.status-stepper{display:flex;flex-wrap:wrap;gap:6px;margin:0;margin-inline-start:6px}.status-step{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:600;font-family:inherit;color:var(--concrete-dark);background:var(--btnBg);border:1px solid var(--sand);border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,opacity .15s}.status-step:hover:not(:disabled):not(.active){border-color:var(--brick);color:var(--brick)}.status-step.active{background:var(--brick);border-color:var(--brick);color:#fff;cursor:default}.status-step:disabled:not(.active){opacity:.5;cursor:not-allowed}.inactive-site-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;margin-bottom:16px;background:var(--warning-bg);border:1px solid var(--warning);border-radius:var(--r-md);color:var(--navy)}.inactive-site-banner-icon{font-size:20px;line-height:1.2;flex-shrink:0}.inactive-site-banner strong{display:block;margin-bottom:2px;font-size:14px}.inactive-site-banner p{margin:0;font-size:12px;line-height:1.6;color:var(--concrete-dark)}.warning-box{background:var(--warning-bg);border:1px solid rgba(202,138,4,.25);border-radius:var(--r-md);padding:12px 16px;color:var(--navy);font-size:13px;line-height:1.6}.site-location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.site-location-card{background:var(--white);border:1px solid var(--sand);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;cursor:pointer;transition:all .22s;display:flex;flex-direction:column;animation:slideDown .35s ease both}.site-location-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--brick)}.site-location-card:focus-visible{outline:2px solid var(--brick);outline-offset:2px}.site-location-card-body{padding:18px;display:flex;flex-direction:column;gap:14px;flex:1}.site-location-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 12px;background:var(--concrete-light);border-radius:var(--r-sm)}.site-location-card-stat{text-align:center}.site-location-card-stat-value{font-size:18px;font-weight:800;color:var(--navy);line-height:1.2}.site-location-card-stat-label{font-size:10px;color:var(--concrete-dark);margin-top:2px}.site-location-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--sand);margin-top:auto}.project-hero{background:var(--white);border:1px solid var(--sand);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:24px 28px;margin-bottom:16px;display:flex;align-items:flex-start;gap:32px;flex-wrap:wrap}.project-hero-icon{width:58px;height:58px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--navy),var(--navy-mid));display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;box-shadow:0 4px 14px #2d104040}.project-hero-content{flex:1;min-width:200px}.project-hero-title{font-size:22px;font-weight:900;color:var(--navy);line-height:1.2;margin-bottom:6px}.project-hero-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--concrete-dark)}.project-hero-actions{display:flex;gap:8px;flex-shrink:0;align-items:flex-start}.project-hero-desc{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--sand);font-size:13px;color:var(--concrete-dark);line-height:1.7;width:100%}.info-section-heading{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:var(--navy);margin-bottom:16px}.info-section-heading-accent{width:3px;height:18px;background:var(--brick);border-radius:3px;flex-shrink:0}.site-detail-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--concrete-dark);margin-bottom:16px;flex-wrap:wrap}.site-detail-breadcrumb a{color:var(--brick);text-decoration:none;font-weight:500;transition:opacity .15s}.site-detail-breadcrumb a:hover{opacity:.75;text-decoration:underline}.site-detail-breadcrumb .crumb-sep{color:var(--concrete);-webkit-user-select:none;user-select:none}.site-detail-header{background:var(--white);border:1px solid var(--sand);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:22px 26px;margin-bottom:16px}.site-detail-hero{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.site-detail-icon{width:50px;height:50px;border-radius:var(--r-md);background:var(--brick-light);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.site-detail-title{font-size:20px;font-weight:900;color:var(--navy);line-height:1.2;margin-bottom:4px}.site-detail-subtitle{font-size:13px;color:var(--concrete-dark);display:flex;gap:10px;flex-wrap:wrap}.site-tech-info{margin-top:16px;padding-top:16px;border-top:1px solid var(--sand)}.site-tech-toggle{background:none;border:none;cursor:pointer;font-size:12px;color:var(--brick);font-weight:600;padding:0;font-family:inherit;display:flex;align-items:center;gap:4px;margin-bottom:12px;transition:opacity .15s}.site-tech-toggle:hover{opacity:.75}.phases-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.phases-section-title{font-size:16px;font-weight:800;color:var(--navy);display:flex;align-items:center;gap:8px}.phases-section-title:before{content:"";width:3px;height:18px;background:var(--brick);border-radius:3px;display:block}.sites-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.sites-section-title{font-size:18px;font-weight:800;color:var(--navy);margin:0}.sites-section-hint{font-size:12px;color:var(--concrete-dark);margin:3px 0 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 0;text-align:center}.empty-state-icon{font-size:44px;margin-bottom:14px;opacity:.7}.empty-state-title{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:6px}.empty-state-desc{font-size:13px;color:var(--concrete-dark);margin-bottom:20px;max-width:340px;line-height:1.6}
