/* Harbour North Studio — Layer 4 only. Extracted in STUDIO-01A. */
.validation-shell{max-width:1100px;margin-top:28px;display:grid;gap:18px}.validation-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#eef7f2,#fffaf0)}.validation-status{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--forest)}.validation-dot{width:14px;height:14px;border-radius:50%;background:var(--forest);box-shadow:0 0 0 6px rgba(63,118,95,.12)}.validation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.validation-metric{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.validation-metric span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.validation-metric strong{font-size:21px;color:var(--navy)}.validation-table{width:100%;border-collapse:collapse;margin-top:14px}.validation-table th,.validation-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:13px}.validation-table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.check-pass{color:var(--forest);font-weight:900}.check-fail{color:var(--red);font-weight:900}.developer-card{border-style:dashed}.code-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all}.validation-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}@media(max-width:850px){.validation-grid{grid-template-columns:1fr 1fr}.validation-banner{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.validation-grid{grid-template-columns:1fr}}
.explore-main,.validation-shell,.card{min-width:0}.validation-shell{max-width:none;width:100%}.year-inspector-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:end;flex-wrap:wrap;margin-top:18px}.year-inspector-toolbar .field{min-width:220px}.year-table-wrap{overflow-y:auto;overflow-x:hidden;max-height:520px;border:1px solid var(--line);border-radius:16px;margin-top:16px;width:100%}.year-table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff}.year-table th{position:sticky;top:0;z-index:2;background:#f5f8f5;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.035em;line-height:1.15}.year-table th,.year-table td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:right;font-size:11px;vertical-align:middle;overflow-wrap:anywhere}.year-table th:first-child,.year-table td:first-child,.year-table th:nth-child(2),.year-table td:nth-child(2){text-align:left}.year-table th:nth-child(1){width:7%}.year-table th:nth-child(2){width:6%}.year-table th:nth-child(3),.year-table th:nth-child(8){width:14%}.year-table th:nth-child(4){width:23%}.year-table th:nth-child(5),.year-table th:nth-child(6),.year-table th:nth-child(7){width:12%}.income-cell{text-align:left!important;line-height:1.25}.income-total{display:block;color:var(--navy);font-weight:900;margin-bottom:3px}.income-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 6px;color:var(--muted);font-size:9px}.income-parts span{white-space:nowrap}.year-table tbody tr{cursor:pointer}.year-table tbody tr:hover,.year-table tbody tr.selected{background:var(--mist)}.year-detail{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.year-detail-item{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;min-width:0}.year-detail-item span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.045em;margin-bottom:5px}.year-detail-item strong{color:var(--navy);font-size:15px;word-break:break-word}.trace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.trace-row{display:flex;justify-content:space-between;gap:16px;padding:11px 12px;border-bottom:1px solid var(--line);font-size:13px;min-width:0}.trace-row span,.trace-row code{min-width:0}.trace-row code{color:var(--navy);font-weight:800;text-align:right;word-break:break-word}.inspector-note{margin-top:12px;padding:13px 15px;background:var(--mist);border-radius:12px;color:var(--muted);font-size:13px;line-height:1.5}.validation-table{table-layout:fixed}.validation-table th,.validation-table td{overflow-wrap:anywhere}@media(max-width:1000px){.year-table th,.year-table td{padding:7px 4px;font-size:10px}.income-parts{display:block}.income-parts span{display:block}.year-detail{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.year-detail,.trace-grid{grid-template-columns:1fr}.year-table th:nth-child(2),.year-table td:nth-child(2){display:none}.year-table th:nth-child(1){width:9%}.year-table th:nth-child(3),.year-table th:nth-child(8){width:16%}.year-table th:nth-child(4){width:27%}.year-table th:nth-child(5),.year-table th:nth-child(6),.year-table th:nth-child(7){width:14%}}
