.pc-shell { --pc-ink: #17211d; --pc-muted: #65716b; --pc-line: #dce5df; --pc-paper: #fff; --pc-mint: #147d62; --pc-warn: #bb6a17; --pc-bad: #b63d43; color: var(--pc-ink); display: grid; gap: 18px; }
.pc-hero { background: linear-gradient(125deg, #102d26, #176a57 68%, #ba8c3c); border-radius: 22px; color: #fff; display: flex; justify-content: space-between; gap: 24px; padding: 28px 30px; box-shadow: 0 18px 48px rgba(16,45,38,.18); }
.pc-hero p,.pc-shadow header span { font-size: 11px; font-weight: 800; letter-spacing: .16em; margin: 0 0 7px; text-transform: uppercase; }
.pc-hero h2 { font-size: 30px; margin: 0 0 7px; }.pc-hero span { color: rgba(255,255,255,.78); }.pc-hero>div:last-child { align-items: flex-end; display: flex; flex-direction: column; justify-content: center; }.pc-hero>div:last-child strong { font-family: ui-monospace, monospace; }
.pc-filter { align-items: end; background: var(--pc-paper); border: 1px solid var(--pc-line); border-radius: 16px; display: grid; gap: 12px; grid-template-columns: 180px 180px minmax(220px,1fr) auto; padding: 14px; }
.pc-filter label,.pc-shadow label { color: var(--pc-muted); display: grid; font-size: 12px; font-weight: 700; gap: 6px; }.pc-filter input,.pc-shadow input { background: transparent; border: 1px solid var(--pc-line); border-radius: 9px; color: inherit; min-height: 38px; padding: 0 10px; }
.pc-button,.pc-link,.pc-tabs button { background: transparent; border: 1px solid var(--pc-line); border-radius: 9px; color: inherit; cursor: pointer; min-height: 38px; padding: 0 14px; }.pc-button.is-primary { background: var(--pc-mint); border-color: var(--pc-mint); color: #fff; }.pc-button:disabled { cursor: not-allowed; opacity: .45; }
.pc-tabs { border-bottom: 1px solid var(--pc-line); display: flex; gap: 6px; }.pc-tabs button { border: 0; border-radius: 9px 9px 0 0; color: var(--pc-muted); }.pc-tabs button.active { background: rgba(20,125,98,.1); color: var(--pc-mint); font-weight: 800; }
.pc-content { display: grid; gap: 18px; }.pc-notice { background: #edf8f4; border: 1px solid #bfe2d5; border-radius: 12px; color: #145d4a; padding: 12px 14px; }
.pc-blocker { background: #fff9ee; border: 1px solid #f0d6ac; border-radius: 16px; padding: 18px 20px; }.pc-blocker>div { display: flex; flex-direction: column; gap: 3px; }.pc-blocker>div span { color: var(--pc-warn); font-size: 11px; font-weight: 800; letter-spacing: .12em; }.pc-blocker p { color: #755833; line-height: 1.65; }.pc-blocker ul { display: grid; gap: 7px; list-style: none; margin: 0; padding: 0; }.pc-blocker li { display: flex; gap: 10px; }.pc-blocker li b { color: var(--pc-warn); min-width: 50px; }
.pc-kpis { display: grid; gap: 12px; grid-template-columns: repeat(5,minmax(0,1fr)); }.pc-kpis article,.pc-card,.pc-cost-strip,.pc-shadow { background: var(--pc-paper); border: 1px solid var(--pc-line); border-radius: 16px; }.pc-kpis article { display: grid; gap: 8px; padding: 17px; }.pc-kpis span,.pc-kpis small,.pc-card header span,.pc-card td small { color: var(--pc-muted); }.pc-kpis strong { font-size: 22px; }.pc-kpis small { font-size: 11px; }
.pc-cost-strip { padding: 18px; }.pc-cost-strip header,.pc-card>header,.pc-shadow>header { align-items: center; display: flex; justify-content: space-between; gap: 18px; margin-bottom: 14px; }.pc-cost-strip h3,.pc-card h3,.pc-shadow h3 { margin: 0; }.pc-cost-strip header span { color: var(--pc-muted); font-size: 12px; }.pc-cost-strip>div { display: grid; gap: 0; grid-template-columns: repeat(3,1fr); }.pc-cost-strip p { border-bottom: 1px dashed var(--pc-line); display: flex; justify-content: space-between; margin: 0; padding: 10px 12px; }
.pc-grid { display: grid; gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }.pc-card { min-width: 0; padding: 18px; }.pc-table-wrap { overflow: auto; }.pc-card table { border-collapse: collapse; min-width: 720px; width: 100%; }.pc-card th { color: var(--pc-muted); font-size: 11px; letter-spacing: .04em; text-align: left; }.pc-card th,.pc-card td { border-bottom: 1px solid var(--pc-line); padding: 12px 10px; vertical-align: top; }.pc-card td small { display: block; font-size: 11px; line-height: 1.45; margin-top: 5px; max-width: 260px; }.pc-count-good { color: var(--pc-mint); }.pc-count-warn { color: var(--pc-warn); }.pc-count-bad { color: var(--pc-bad); }.pc-empty { color: var(--pc-muted); padding: 32px !important; text-align: center; }
.pc-status { border-radius: 999px; display: inline-flex; font-size: 11px; font-weight: 800; padding: 4px 8px; }.pc-status.is-complete { background: #e7f7f1; color: var(--pc-mint); }.pc-status.is-partial { background: #fff0d7; color: var(--pc-warn); }.pc-status.is-blocked { background: #fbe8e9; color: var(--pc-bad); }.pc-link { color: var(--pc-mint); min-height: 30px; padding: 0 8px; }.pc-pagination { align-items: center; display: flex; justify-content: flex-end; gap: 12px; padding-top: 14px; }.pc-pagination span { color: var(--pc-muted); font-size: 12px; }
.pc-missing-list { display: grid; gap: 8px; }.pc-missing-list p { align-items: center; display: flex; gap: 12px; margin: 0; }.pc-missing-list b { background: #fff0d7; border-radius: 8px; color: var(--pc-warn); min-width: 42px; padding: 7px; text-align: center; }
.pc-shadow { border-color: #c8d8ed; padding: 18px; }.pc-shadow>header span { color: #42628c; }.pc-shadow>header small { color: var(--pc-muted); }.pc-shadow form { align-items: end; display: flex; flex-wrap: wrap; gap: 12px; }.pc-shadow-result { align-items: center; background: #f3f7fc; border-radius: 12px; display: flex; gap: 14px; margin-top: 14px; padding: 13px; }.pc-shadow-result span { color: var(--pc-muted); flex: 1; font-size: 12px; }
.pc-modal-backdrop { align-items: center; background: rgba(8,18,14,.62); display: flex; inset: 0; justify-content: center; padding: 24px; position: fixed; z-index: 1000; }.pc-modal { background: var(--pc-paper); border-radius: 20px; box-shadow: 0 28px 80px rgba(0,0,0,.28); max-height: 88vh; max-width: 860px; overflow: auto; padding: 22px; width: 100%; }.pc-modal>header { align-items: center; border-bottom: 1px solid var(--pc-line); display: flex; justify-content: space-between; padding-bottom: 14px; }.pc-modal>header span { color: var(--pc-muted); font-size: 11px; }.pc-modal h3 { margin: 4px 0 0; }.pc-close { background: transparent; border: 0; cursor: pointer; font-size: 28px; }.pc-evidence-summary { align-items: center; display: flex; flex-wrap: wrap; gap: 14px; padding: 16px 0; }.pc-evidence-summary small { color: var(--pc-muted); margin-left: auto; }.pc-evidence-warning { background: #fff9ee; border-radius: 10px; color: #755833; padding: 8px 12px; }.pc-evidence-warning p { margin: 5px 0; }.pc-evidence-list { display: grid; gap: 8px; }.pc-evidence-list article { align-items: center; border: 1px solid var(--pc-line); border-radius: 11px; display: grid; gap: 12px; grid-template-columns: minmax(160px,1fr) auto minmax(220px,1.5fr); padding: 11px; }.pc-evidence-list article div { display: grid; }.pc-evidence-list article span,.pc-evidence-list article p,.pc-modal>footer { color: var(--pc-muted); font-size: 11px; }.pc-evidence-list article p { margin: 0; }.pc-modal>footer { border-top: 1px solid var(--pc-line); margin-top: 14px; padding-top: 12px; }
.pc-loading,.pc-error { align-items: center; background: var(--pc-paper); border: 1px solid var(--pc-line); border-radius: 16px; display: flex; min-height: 180px; justify-content: center; }.pc-error { color: var(--pc-bad); flex-direction: column; gap: 8px; }
@media (max-width: 1100px) { .pc-kpis { grid-template-columns: repeat(3,1fr); }.pc-grid { grid-template-columns: 1fr; }.pc-filter { grid-template-columns: repeat(2,1fr); }.pc-filter label:last-of-type { grid-column: span 2; }.pc-cost-strip>div { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 680px) { .pc-hero { align-items: flex-start; flex-direction: column; padding: 22px; }.pc-hero>div:last-child { align-items: flex-start; }.pc-filter,.pc-kpis { grid-template-columns: 1fr; }.pc-filter label:last-of-type { grid-column: auto; }.pc-cost-strip>div { grid-template-columns: 1fr; }.pc-shadow form,.pc-shadow-result { align-items: stretch; flex-direction: column; }.pc-evidence-list article { grid-template-columns: 1fr; }.pc-evidence-summary small { margin-left: 0; width: 100%; }.pc-button,.pc-link,.pc-tabs button { min-height: 44px; }.pc-aggregate table,.pc-aggregate tbody,.pc-aggregate tr,.pc-aggregate td { display: block; min-width: 0; width: auto; }.pc-aggregate thead { display: none; }.pc-aggregate tr { border: 1px solid var(--pc-line); border-radius: 10px; padding: 8px 10px; }.pc-aggregate td { align-items: center; border: 0; display: flex; justify-content: space-between; padding: 7px 0; text-align: right; }.pc-aggregate td::before { color: var(--pc-muted); content: attr(data-label); font-size: 11px; font-weight: 700; margin-right: 12px; text-align: left; }.pc-aggregate .pc-empty { display: block; } }
