.pcb-footprint-page{position:relative;padding:40px 20px;color:#4c4c4c;overflow:hidden}.pcb-footprint-page__background{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.pcb-trace{fill:none;stroke:#000;stroke-width:2;opacity:.08}.pcb-signal{fill:none;stroke:#c52033;stroke-width:3;stroke-dasharray:100 6000;opacity:.16;animation:pcb-signal 30s linear infinite}.pcb-signal--two{animation-duration:36s;animation-delay:5s}@keyframes pcb-signal{from{stroke-dashoffset:6000}to{stroke-dashoffset:0}}.pcb-footprint-card{position:relative;z-index:1;max-width:900px;margin:auto;padding:40px;background:#fff;border:1px solid #ddd;box-shadow:0 4px 15px rgba(0,0,0,.04)}.pcb-footprint-heading h1{margin:0;padding-bottom:15px;border-bottom:1px solid #054f7d;color:#054f7d;font-size:24px}.pcb-footprint-heading p{margin:10px 0 30px;font-size:14px}.pcb-section{margin-bottom:25px;padding:25px;border:1px solid #e0e0e0;background:#fafafa}.pcb-section h2{margin:0 0 20px;color:#333;font-size:17px}.pcb-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pcb-field{min-width:0}.pcb-field--wide{grid-column:1/-1}.pcb-field label{display:block;margin-bottom:8px;color:#222;font-size:14px;font-weight:700}.pcb-field input:not([type=file]),.pcb-field select,.pcb-field textarea{box-sizing:border-box;width:100%;padding:10px;border:1px solid #ccc;border-radius:0;background:#fff;color:#333;font:14px Arial,sans-serif}.pcb-field input:focus,.pcb-field select:focus,.pcb-field textarea:focus{outline:2px solid rgba(5,79,125,.15);border-color:#054f7d}.pcb-inline{display:flex;gap:10px}.pcb-info{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#054f7d;color:#fff;font-size:11px;cursor:help}.pcb-geometry{margin-top:20px}.pcb-backdrill,.pcb-section--highlight{padding:20px;border:1px solid #d4e3f0;border-left:4px solid #054f7d;background:#eef4f9}.pcb-section--highlight p{line-height:1.5}.pcb-file-list{margin-top:8px}.pcb-file{display:flex;justify-content:space-between;padding:9px 12px;border:1px solid #ccc;background:#fff}.pcb-file button{padding:0;border:0;background:none;color:#c52033;font-weight:700}.pcb-submit{text-align:center;margin-top:35px}.pcb-submit button{padding:13px 30px;border:0;background:#054f7d;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.pcb-submit button:hover{background:#033657}.pcb-submit button:disabled{opacity:.65;cursor:wait}.pcb-form-errors{margin-bottom:20px;padding:15px;border-left:4px solid #c52033;background:#fff1f2;color:#8a1422}.pcb-success{text-align:center;padding:50px 20px}.pcb-success>span{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#054f7d;color:#fff;font-size:40px}.pcb-success h2{color:#054f7d}.pcb-footprint-page [hidden]{display:none!important}@media(max-width:600px){.pcb-footprint-page{padding:20px 0}.pcb-footprint-card{padding:20px}.pcb-section{padding:18px}.pcb-grid{grid-template-columns:1fr;gap:15px}.pcb-inline{flex-direction:column}.pcb-field--wide{grid-column:auto}}

/* Keep form controls consistent when rendered inside the Pacific theme. */
.pcb-footprint-page .pcb-field select {
    appearance: none !important;
    -webkit-appearance: none !important;
    padding-right: 38px !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23054f7d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px 7px !important;
}

.pcb-footprint-page .pcb-field input:not([type=file]):focus,
.pcb-footprint-page .pcb-field select:focus,
.pcb-footprint-page .pcb-field textarea:focus,
.pcb-footprint-page .pcb-field input:not([type=file]):focus-visible,
.pcb-footprint-page .pcb-field select:focus-visible,
.pcb-footprint-page .pcb-field textarea:focus-visible {
    outline: none !important;
    border-color: #054f7d !important;
    box-shadow: 0 0 0 2px rgba(5,79,125,.22) !important;
}

.pcb-footprint-page .pcb-field input[type=file]:focus-visible {
    outline: 2px solid #054f7d;
    outline-offset: 3px;
}

.pcb-footprint-page .pcb-info {
    position: relative;
    vertical-align: middle;
    margin-left: 4px;
    line-height: 16px;
    text-align: center;
    user-select: none;
}

.pcb-footprint-page .pcb-info:focus-visible {
    outline: 2px solid #054f7d;
    outline-offset: 2px;
}

.pcb-footprint-page .pcb-info:hover::after,
.pcb-footprint-page .pcb-info:focus::after {
    content: attr(aria-label);
    position: absolute;
    z-index: 20;
    left: 50%;
    bottom: calc(100% + 8px);
    width: 240px;
    max-width: min(280px, calc(100vw - 60px));
    transform: translateX(-50%);
    padding: 8px 10px;
    border-radius: 2px;
    background: #054f7d;
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    white-space: normal;
    text-align: left;
    box-shadow: 0 3px 10px rgba(0,0,0,.2);
    pointer-events: none;
}

/* Match the reference template's Attachments & Notes rhythm exactly. */
.pcb-footprint-page .pcb-section--highlight {
    padding: 20px;
}

.pcb-footprint-page .pcb-section--highlight > h2 {
    margin: 0 0 15px;
    padding: 0 0 10px;
    border-bottom: 1px solid #d4e3f0;
}

.pcb-footprint-page .pcb-section--highlight > p {
    margin: 0 0 10px;
    color: #444;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

.pcb-footprint-page .pcb-section--highlight .pcb-field:first-of-type {
    margin-bottom: 20px;
}

.pcb-footprint-page .pcb-section--highlight .pcb-field:last-of-type {
    margin-top: 20px;
}

.pcb-footprint-page .pcb-section--highlight input[type=file] {
    box-sizing: border-box;
    width: 100%;
    padding: 8px 0;
    border: 0 !important;
    background: transparent !important;
    cursor: pointer;
}

.pcb-footprint-page .pcb-section--highlight textarea {
    min-height: 88px;
    resize: vertical;
}

@media(max-width:600px) {
    .pcb-footprint-page .pcb-info:hover::after,
    .pcb-footprint-page .pcb-info:focus::after {
        left: 0;
        max-width: min(260px, calc(100vw - 60px));
        transform: none;
    }
}

/* Match the circuit-board backdrop from the approved form template. */
.pcb-footprint-page {
    background-color: #f4f7f6;
}

.html-pcb-footprint-page .pcb-trace {
    stroke-linecap: square;
    stroke-linejoin: miter;
    opacity: .2;
}

.html-pcb-footprint-page .pcb-pad {
    fill: #000;
    opacity: .3;
}

.html-pcb-footprint-page .pcb-signal {
    stroke-linecap: square;
    stroke-linejoin: miter;
    opacity: .5;
}

.html-pcb-footprint-page .pcb-signal--one { animation-duration: 25s; }
.html-pcb-footprint-page .pcb-signal--two { animation-duration: 35s; animation-delay: 5s; }
.html-pcb-footprint-page .pcb-signal--three { animation-duration: 28s; animation-delay: 2s; }
.html-pcb-footprint-page .pcb-signal--four { animation-duration: 40s; animation-delay: 10s; }
.html-pcb-footprint-page .pcb-signal--five { animation-duration: 30s; animation-delay: 7s; }
.html-pcb-footprint-page .pcb-signal--six { animation-duration: 22s; animation-delay: 15s; }

/* Keep the circuit board anchored to the page shell while the form scrolls. */
.html-pcb-footprint-page .master-wrapper-page {
    background-color: #f4f7f6;
}

.html-pcb-footprint-page .master-column-wrapper {
    background-color: transparent;
}

.html-pcb-footprint-page .master-wrapper-content {
    background-color: transparent;
}

.html-pcb-footprint-page .pcb-footprint-page {
    background-color: transparent;
    overflow: visible;
}

.html-pcb-footprint-page .pcb-footprint-page__background {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1;
}

.html-pcb-footprint-page .header,
.html-pcb-footprint-page .footer,
.html-pcb-footprint-page .pcb-footprint-card {
    position: relative;
    z-index: 2;
}
