/* JobPhase brand system: Industrial Navy + Safety Orange.
   Professional construction planning workspace; no decorative hazard stripes or neon gradients.
   Manrope for headings, Inter for tables and fields.
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{
  --jp-navy:#172B3A;--jp-navy-deep:#102330;--jp-orange:#E8A044;
  --jp-orange-hover:#D88C2A;--jp-orange-light:#FFF1DD;
  --jp-blue:#286E98;--jp-line:#DCE2E5;--jp-soft:#F4F5F3;
  --jp-ink:#172B3A;--jp-muted:#64717A;--jp-white:#FFFFFF;
  --jp-red:#C6403A;--jp-green:#247C59;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--jp-ink);background:var(--jp-soft);
}
body{background:var(--jp-soft);color:var(--jp-ink);font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif}
h1,h2,h3,.brand-name{font-family:'Manrope','Inter',sans-serif}
header{background:var(--jp-navy);box-shadow:0 4px 16px #10233014;padding-top:19px;padding-bottom:19px}
.brand-symbol{background:var(--jp-orange);border-radius:10px}
header small{color:#CED8DC}
.tag{background:#ffffff14;border:1px solid #ffffff30;color:#E9EFF2;letter-spacing:.01em}
main{padding-top:30px}
.jp-hero{border-radius:18px;background:var(--jp-navy);color:#fff;padding:30px 32px;display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:22px;align-items:center;box-shadow:0 12px 26px #10233014}
.jp-kicker{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--jp-orange);margin-bottom:12px}
.jp-hero h1{font-size:clamp(27px,4vw,39px);line-height:1.14;letter-spacing:-.03em;max-width:660px;margin:0 0 10px;color:#fff}
.jp-hero p{color:#D5DFE4;margin:0;max-width:630px;font-size:14px}
.jp-hero-steps{display:flex;flex-direction:column;gap:10px}
.jp-hero-step{border:1px solid #ffffff25;background:#ffffff0a;padding:12px 14px;border-radius:10px;display:flex;align-items:center;gap:11px;font-size:13px;font-weight:650;color:#F5F8F9}
.jp-hero-step b{background:var(--jp-orange);color:var(--jp-navy);border-radius:6px;min-width:24px;height:24px;display:grid;place-items:center;font-size:11px}
.layout{grid-template-columns:minmax(310px,370px) minmax(0,1fr);gap:20px;align-items:start;margin-top:19px}
.panel{background:var(--jp-white);border:1px solid var(--jp-line);border-radius:15px;box-shadow:0 5px 20px #1023300a;padding:24px}
.panel h2{font-size:18px;letter-spacing:-.02em}
#form>div.field,#form>.grid2{margin-bottom:14px}
input,select,textarea{border:1px solid #C4CED3;border-radius:8px;min-height:40px;background:#fff;color:var(--jp-ink);font-family:'Inter',sans-serif}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid #E8A04499;outline-offset:2px}
button{border-radius:9px;background:var(--jp-orange);color:var(--jp-navy);font-family:'Inter',sans-serif;font-weight:750;box-shadow:0 2px 4px #1023300d}
button:hover{background:var(--jp-orange-hover)}
button.secondary{background:#fff;color:var(--jp-navy);box-shadow:none;border:1px solid #AFC0C9}
button.secondary:hover{background:#F1F4F5}
.note{background:#FFFAF1;border:1px solid #F2DDBD;color:#64543E;border-radius:12px;margin-top:17px;font-size:13px}
.jp-intake-section,#jp-flexible-intake{border:1px solid var(--jp-line);background:#F9FAFA;border-radius:12px;padding:16px;margin-bottom:18px}
.jp-section-heading{display:flex;gap:11px;align-items:start;margin-bottom:16px}
.jp-section-heading h3{font-size:15px;letter-spacing:-.01em;margin:0 0 4px}
.jp-section-heading p{font-size:12px;color:var(--jp-muted);line-height:1.45;margin:0}
.jp-step{background:var(--jp-orange-light);color:#7E4D14;padding:7px 8px;border-radius:7px;font-size:12px;font-weight:800}
.jp-scope-grid{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;border:1px solid var(--jp-line);border-radius:9px;background:#fff}
.jp-scope-grid .check{font-size:12px;margin:0;line-height:1.3}
.jp-switch{margin:14px 0 4px}
#jp-city-note{background:#F1F5F7;border-left:3px solid var(--jp-blue);padding:9px 11px;border-radius:5px;color:#37556A}
#jp-documents[hidden],#jp-owner-intake[hidden],#jp-drawing-intake[hidden],#jp-design-options[hidden],#jp-agencies-link[hidden]{display:none}
#jp2-view h3,#jp-evidence-lab h3{margin:22px 0 12px;letter-spacing:-.02em}
.stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat{background:#F5F7F7;border:1px solid #E0E5E7}
.stat b{font-size:22px;letter-spacing:-.03em;color:var(--jp-navy)}
.stat small,.muted{color:var(--jp-muted)}
th{background:#EDF1F2;color:#354C5B;font-size:11px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}
tr:nth-child(even) td{background:#FAFBFB}
tr:hover td{background:#FFF6E9}
td,th{padding:10px 11px;border-bottom:1px solid #E6EBEC}
.scroll{max-width:100%;border:1px solid #E2E8EA;border-radius:10px}
.pill{background:var(--jp-orange-light);color:#80501B}
#jp2-view .scroll{max-height:570px;overflow:auto}
#jp-location-settings .fine,#jp-flexible-intake .fine{font-size:11.5px}
.jp-floor-cell{font-weight:750;color:var(--jp-blue);white-space:nowrap}
.jp-reg-cell{color:#9B601E;font-weight:700}
a{color:#246C94}a:hover{color:#174E6E}
@media(max-width:1000px){.jp-hero{grid-template-columns:1fr}.jp-hero-steps{flex-direction:row;flex-wrap:wrap}.jp-hero-step{flex:1;min-width:150px}}
@media(max-width:600px){.jp-hero{padding:22px}.jp-hero-steps{display:none}.layout{grid-template-columns:1fr}.panel{padding:17px}.stats{grid-template-columns:1fr}.jp-scope-grid{grid-template-columns:1fr}}

/* Interactive Gantt module */
.jp-gantt-section{border:1px solid #DCE2E5;border-radius:14px;padding:18px;background:#fff;margin:18px 0 26px}
.jp-gantt-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.jp-gantt-heading h3{font-family:Manrope,Inter,sans-serif;margin:0!important;font-size:18px!important}
.jp-gantt-heading p{font-size:12px;color:#65717B;margin:5px 0}
.jp-gantt-controls{display:flex;gap:10px;flex-wrap:wrap}
.jp-gantt-controls label{font-size:11px;color:#62717A;min-width:110px}
.jp-gantt-controls select{display:block;min-width:116px;margin-top:4px;min-height:36px;padding:7px;font-size:12px}
.jp-gantt-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0 12px}
.jp-gantt-tools input{max-width:260px;flex:1 1 180px;font-size:13px}
.jp-gantt-tools span{font-size:12px;color:#586D7A;white-space:nowrap;margin-right:auto}
.jp-gantt-tools button{font-size:12px;padding:9px 12px}
.jp-gantt-viewport{border:1px solid #D8E1E5;border-radius:9px;overflow:auto;max-height:650px;background:#fff;overscroll-behavior:contain}
.jp-gantt-viewport svg{display:block;max-width:none}
.jp-gantt-viewport:focus-visible{outline:3px solid #E8A044}
@media(max-width:600px){.jp-gantt-section{padding:10px}.jp-gantt-controls{width:100%}.jp-gantt-controls label{flex:1 1 90px;min-width:90px}.jp-gantt-heading h3{font-size:16px!important}}

/* NTP and mandated completion — estimating comparison */
.jp-deadline-section{padding:20px;border:1px solid #DCE2E5;border-radius:14px;background:#fff;margin:16px 0 24px}
.jp-deadline-section h3{font-family:Manrope,Inter,sans-serif;font-size:18px;letter-spacing:-.02em;margin:0 0 16px!important}
.jp-deadline-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.jp-deadline-stats>div{background:#F5F7F7;border:1px solid #E0E5E7;border-radius:10px;padding:12px;min-width:0}
.jp-deadline-stats small{display:block;color:#64717A;font-size:11px;margin-bottom:6px}
.jp-deadline-stats strong{display:block;color:#172B3A;font-size:15px;overflow-wrap:anywhere}
.jp-deadline-section table{min-width:650px}
.jp-deadline-section td:first-child{font-weight:600}
.jp-scenario-advice{border-left:3px solid #E8A044;background:#FFF8EB;color:#685026;padding:11px 14px;border-radius:6px;font-size:13px}
@media(max-width:850px){.jp-deadline-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.jp-deadline-section{padding:12px}.jp-deadline-stats{grid-template-columns:1fr 1fr}.jp-deadline-stats strong{font-size:13px}}
