:root{font-family:Arial,'Helvetica Neue',sans-serif;color:#233547;background:#f2f5f8}*{box-sizing:border-box}body{margin:0}header{background:#123b62;color:white;border-bottom:5px solid #e5a02e}.top{max-width:1510px;margin:auto;padding:19px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:16px}.mark{background:#edab32;color:#133858;font-size:24px;font-weight:900;padding:17px 11px;border-radius:9px}.agency{font-size:10px;letter-spacing:.12em;opacity:.8}h1{margin:4px 0;font-size:25px}header p{margin:4px 0;color:#e6eefa;font-size:13px}.privacy{color:#d5f0d9;font-size:12px;white-space:nowrap}main{max-width:1510px;margin:auto;padding:20px 28px}.notice{background:#fff9e9;border-left:4px solid #e5a02e;padding:13px 18px;margin-bottom:18px;font-size:13px;line-height:1.5}.layout{display:grid;grid-template-columns:minmax(375px,1fr) minmax(400px,1.05fr);gap:20px;align-items:start}.panel,.previewPanel{background:white;border:1px solid #dce3e8;border-radius:10px;box-shadow:0 3px 14px #18354a0a;padding:23px}.sectionHead,.previewHeading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:15px}.sectionHead h2,.previewHeading h2{font-size:17px;margin:0}.sectionHead span,.previewHeading span{font-size:11px;color:#647789}.sectionGap{margin-top:27px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}label{font-size:12px;font-weight:700;color:#38516b;display:flex;flex-direction:column;gap:6px}.wide{grid-column:1/-1}input,textarea{width:100%;border:1px solid #c5ced8;border-radius:6px;padding:11px;font:13px Arial,sans-serif;background:#eef0f2;color:#162a3d}input:focus,textarea:focus{background:white;border-color:#3973aa;outline:2px solid #c5dbf0}input::placeholder,textarea::placeholder{color:#697681}textarea{resize:vertical}.upload{border:2px dashed #c7d6e4;background:#f6f9fc;text-align:center;border-radius:9px;padding:17px}.upload.over{background:#dceefb;border-color:#3b85c2}.upload p{margin:11px 0 0;color:#61778c;font-size:12px}.btn{font-weight:700;border:0;border-radius:7px;padding:12px 15px;cursor:pointer;font-size:13px}.btn:hover{filter:brightness(.96)}.primary{background:#155a90;color:white}.secondary{background:#e5edf4;color:#234563}.actions{display:flex;flex-wrap:wrap;gap:9px}.minor{margin-top:13px}.textBtn{background:none;border:0;padding:4px;color:#225c8c;text-decoration:underline;cursor:pointer;font-size:12px}.attachments{margin-top:10px}.empty{color:#84909a;font-size:12px;padding:12px}.fileRow{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #e4e9ed;font-size:12px}.fileName{flex:1;overflow-wrap:anywhere}.fileRow button{border:0;background:#fbe5e3;border-radius:4px;padding:5px 8px;color:#982b26;cursor:pointer}.fileRow small{color:#687a89}.validation{font-size:12px;color:#775a16;background:#fff8e3;padding:12px;border-radius:6px;margin-bottom:13px;line-height:1.6}.validation.good{background:#e5f4ea;color:#225c3b}.footnote,.previewNote{color:#617181;font-size:11px;line-height:1.6;margin:16px 0 0}.previewPanel{position:sticky;top:10px;background:#edf2f6}.paper{background:white;width:100%;aspect-ratio:8.5/11;box-shadow:0 4px 20px #283c4b26;padding:6% 6.5%;display:flex;flex-direction:column;color:#202a31;font-family:Arial,sans-serif;font-size:clamp(8px,.83vw,12px);overflow:hidden}.paperHeader{display:flex;justify-content:space-between;gap:10px;font-size:.78em;line-height:1.7}.memoLabel{font-family:Georgia,serif;font-weight:bold;font-size:2em;margin:28px 0 20px}.memoGrid{display:grid;grid-template-columns:11% 46% 10% 33%;gap:9px 0;font-size:.95em;line-height:1.35}.memoGrid b{color:#111}.fullValue{grid-column:2/5;font-weight:bold;letter-spacing:.02em}.placeholder{color:#929da9}hr{width:100%;border:0;border-top:1px solid #9eaeb8;margin:20px 0}.memoBody{line-height:1.65}.memoBody p{margin:0 0 16px}.signature{margin-top:17px;line-height:1.55}.paperFooter{margin-top:auto;text-align:center;font-size:.75em;color:#6b7073;border-top:1px solid #d8dce1;padding-top:10px}.hidden{display:none}.previewHeading{margin-bottom:18px}@media(max-width:1050px){.layout{grid-template-columns:1fr}.previewPanel{position:static}.paper{max-width:770px;margin:auto;font-size:clamp(10px,1.5vw,14px)}}@media(max-width:570px){main{padding:10px}.top{padding:15px}.privacy{display:none}.panel,.previewPanel{padding:15px}.fields{grid-template-columns:1fr}.paper{font-size:8px}}@media print{body{background:white}header,.notice,.panel,.previewHeading,.previewNote{display:none!important}main,.layout,.previewPanel{display:block!important;padding:0!important;margin:0!important;border:0;box-shadow:none;background:none}.paper{width:8.5in;height:11in;max-width:none;box-shadow:none;padding:.75in;aspect-ratio:auto;font-size:11pt;overflow:visible}@page{size:letter;margin:0}}

.connectionStatus{background:#e8f0f7;color:#164268;border:1px solid #cbd9e7;border-radius:7px;padding:9px 12px;margin-bottom:14px;font-size:12px;line-height:1.5}@media(max-width:570px){.actions>.btn{width:100%;min-height:47px}.upload .btn{min-height:48px}.paper{min-height:430px;height:auto;aspect-ratio:auto}.memoGrid{grid-template-columns:15% 40% 13% 32%}.memoLabel{margin:14px 0 12px}}

/* Caltrans memorandum formatting, v1.1: parallels the supplied 2015 memorandum. */
.paper{font-family:'Century Gothic','Avenir Next','Trebuchet MS',Arial,sans-serif;color:#171717;padding:6% 7% 4%;font-size:clamp(8px,.86vw,12px)}
.paperHeader{font-size:.77em;line-height:1.3}.paperHeader>div:last-child{text-align:right}
.memoLabel{font-family:'Century Gothic','Avenir Next','Trebuchet MS',Arial,sans-serif;font-weight:bold;letter-spacing:.10em;font-size:1.53em;margin:35px 0 28px}
.routing{display:grid;grid-template-columns:65% 35%;gap:12px;min-height:125px}.routingLeft{display:flex;flex-direction:column;gap:28px}.routingRight{display:flex;flex-direction:column;gap:15px}.routingEntry{display:grid;grid-template-columns:53px 1fr;line-height:1.25;gap:3px}.routingRight .routingEntry{grid-template-columns:38px 1fr}.routingMeta{display:block}
.subjectRow{display:grid;grid-template-columns:53px 1fr;gap:3px;line-height:1.3;margin-bottom:19px}.subjectRow strong{font-weight:bold}
.memoBody{margin-left:56px;line-height:1.3}.memoBody p{margin:0 0 14px}.attachmentDisplay{display:block;margin:4px 0 0 14px;overflow-wrap:anywhere}
.signature{margin:20px 0 0 56px;line-height:1.3}.paperFooter{border:0;font-style:italic;font-size:.7em;line-height:1.2;color:#333;padding-top:7px}
@media print{.paper{font-size:11pt;padding:.65in .75in}.memoLabel{margin-top:.35in;margin-bottom:.28in}.memoBody{margin-left:.6in}.signature{margin-left:.6in}}
@media(max-width:570px){.paper{font-size:8px}.routingEntry{grid-template-columns:38px 1fr}.routingRight .routingEntry{grid-template-columns:27px 1fr}.subjectRow{grid-template-columns:38px 1fr}.memoBody,.signature{margin-left:38px}.routing{min-height:115px}}
