.pf-root{font-family:inherit;color:#243852;max-width:100%;font-size:14px;line-height:1.5}.pf-root *{box-sizing:border-box}.pf-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;border-radius:18px;background:linear-gradient(120deg,#182f57,#315b88);color:white}.pf-head h2{font-weight:800;font-size:26px;line-height:1.15;margin:5px 0}.pf-head p{opacity:.9;margin:0}.pf-eyebrow{font-size:11px;letter-spacing:.17em;font-weight:800;color:#b5dffa}.pf-head .pf-button{color:#fff;border-color:#a4bfdc80}.pf-head .pf-button:hover{background:#ffffff20}.pf-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(220px,1.25fr);gap:12px;margin:16px 0}.pf-filters label,.pf-import-controls label,.pf-form-field{display:flex;flex-direction:column;gap:5px;color:#405c7a;font-size:12px;font-weight:750}.pf-filters select,.pf-filters input,.pf-import-controls select,.pf-form-field input,.pf-form-field select,.pf-form-field textarea{background:#fff;border:1px solid #ccdaeb;border-radius:10px;padding:11px;color:#203e5c;width:100%;font:inherit;min-height:43px}.pf-form-field textarea{resize:vertical;min-height:84px}.pf-filters :is(select,input):focus,.pf-import-controls select:focus,.pf-form-field :is(input,textarea,select):focus{outline:2px solid #5593d7;outline-offset:2px}.pf-tabs{display:flex;gap:7px;overflow-x:auto;padding:4px 0 13px}.pf-tabs button{white-space:nowrap;border:1px solid #c6d8e9;color:#244b71;background:#f9fcff;padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:750}.pf-tabs button.active{background:#214b7b;color:#fff;border-color:#214b7b}.pf-content{display:flex;flex-direction:column;gap:16px}.pf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pf-card{background:#fff;border:1px solid #d7e3f0;border-radius:16px;padding:16px;min-height:112px;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 8px #17375d09}.pf-card span{color:#506981;font-size:12px;font-weight:750}.pf-card strong{font-size:24px;letter-spacing:-.045em;color:#243f61;line-height:1.2}.pf-card small{font-size:11px;color:#69819b}.pf-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pf-panel{background:#fff;padding:20px;border-radius:16px;border:1px solid #d6e3ef;min-width:0}.pf-panel h3{color:#203c60;font-size:18px;margin:0 0 8px}.pf-panel p{font-size:13px;color:#69809b;margin:4px 0 16px}.pf-guides{background:#eef5fc;border-left:4px solid #458ac2;border-radius:10px;padding:12px 15px;font-size:13px;color:#315575;display:flex;flex-wrap:wrap;gap:14px}.pf-guides span{display:block;min-width:180px}.pf-table-wrap{max-width:100%;overflow:auto;border:1px solid #e5edf5;border-radius:12px}.pf-table{width:100%;border-collapse:collapse;min-width:540px;font-size:12px}.pf-table thead{background:#edf4fa;color:#426380;text-transform:uppercase;letter-spacing:.03em}.pf-table th{white-space:nowrap;font-size:11px}.pf-table th,.pf-table td{text-align:left;padding:11px 12px;vertical-align:top;border-bottom:1px solid #eef2f7}.pf-table tr:last-child td{border-bottom:0}.pf-table td b{color:#284766}.pf-table td small{display:block;color:#6a7e92;margin-top:4px;line-height:1.4}.pf-data-row[hidden]{display:none!important}.pf-chip{display:inline-block;border-radius:999px;background:#ecf2f8;color:#42647d;padding:3px 8px;font-size:10px;font-weight:800;margin:3px}.pf-chip.good{background:#e0f4e8;color:#236943}.pf-chip.warn{background:#fff2da;color:#8c5a18}.pf-button{appearance:none;border:1px solid #b7cfdf;border-radius:10px;cursor:pointer;padding:8px 12px;background:#eaf3fb;color:#25547e;font-weight:750;font-size:12px;margin:2px 3px 2px 0;white-space:nowrap}.pf-button.primary{background:#245589;border-color:#245589;color:#fff}.pf-button.outline{background:#fff}.pf-button.muted{background:#f6f7f9;color:#66778a}.pf-button:hover{filter:brightness(.97)}.pf-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0}.pf-import-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:#f3f8fc;border-radius:12px;padding:15px;margin:12px 0}.pf-import-buttons{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.pf-empty{padding:22px;text-align:center;color:#7e91a6}.pf-loading{padding:36px;text-align:center;color:#526d8a}.pf-footer{margin:10px 0;padding:12px 0;color:#71849b;font-size:11px;border-top:1px solid #d5e0e9}.pf-overlay{position:fixed;z-index:99999;inset:0;background:#14263bc0;display:flex;align-items:center;justify-content:center;padding:16px}.pf-dialog{background:white;border-radius:18px;padding:22px;max-width:860px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 15px 60px #0003}.pf-dialog header{display:flex;justify-content:space-between;align-items:center;gap:8px}.pf-dialog h3{margin:0 0 8px}.pf-dialog p{color:#637c97;font-size:13px}.pf-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pf-form-field:has(textarea){grid-column:1/-1}.pf-dialog footer{display:flex;justify-content:flex-end;margin-top:18px;gap:7px}.pf-error{background:#fff0ef;border:1px solid #efc7be;border-radius:12px;padding:15px;color:#8e352b}@media(max-width:960px){.pf-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-two{grid-template-columns:1fr}.pf-import-controls{grid-template-columns:1fr 1fr}}@media(max-width:650px){.pf-head{flex-direction:column;align-items:start}.pf-head h2{font-size:21px}.pf-filters,.pf-import-controls,.pf-form-grid{grid-template-columns:1fr}.pf-cards{grid-template-columns:1fr 1fr}.pf-card{min-height:108px;padding:12px}.pf-card strong{font-size:19px}.pf-panel{padding:14px}.pf-table{min-width:620px}}@media(max-width:420px){.pf-cards{grid-template-columns:1fr}.pf-import-buttons{flex-direction:column}}

.pf-import-uploader{display:flex;align-items:end;flex-wrap:wrap;gap:15px;padding:18px;background:#f0f7f4;border:1px solid #c4dfd2;border-radius:14px;margin-bottom:15px}.pf-import-uploader>div{flex:2 1 330px}.pf-import-uploader h4{margin:0;color:#254b4a}.pf-import-uploader p{margin:5px 0 0}.pf-import-uploader label{flex:1 1 220px;color:#47636e;font-size:12px;font-weight:bold}.pf-import-uploader input{display:block;max-width:260px;width:100%;padding:8px;border:1px solid #bdd5cd;border-radius:10px;margin-top:5px;background:#fff}.pf-import-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pf-import-summary div{padding:12px;border:1px solid #d6e7de;border-radius:12px;display:flex;gap:5px;flex-direction:column}.pf-import-summary strong{font-size:22px}.pf-import-summary small{color:#617b86}.pf-status{padding:13px;border-radius:12px;background:#f0f7ff;color:#42617e}@media(max-width:570px){.pf-import-summary{grid-template-columns:1fr}}
.pf-head .pf-button.outline{background:transparent;color:#fff;border:1px solid #a7c7e0}
.pf-head .pf-button.outline:hover{background:#ffffff25;color:#fff}

@media(min-width:1250px){.pf-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* 2026-11-04 compact portfolio refinement */
.pf-root{font-size:13px}.pf-head{padding:15px 18px;border-radius:16px}.pf-head h2{font-size:22px}.pf-filters{gap:10px;margin:12px 0}.pf-filters select,.pf-filters input,.pf-import-controls select,.pf-form-field input,.pf-form-field select,.pf-form-field textarea{min-height:40px;padding:10px;border-radius:9px}.pf-tabs{gap:8px;padding:2px 0 10px}.pf-tabs button{padding:8px 12px;border-radius:11px;font-size:13px}.pf-content{gap:12px}.pf-cards{gap:10px}.pf-card{padding:13px;min-height:92px;border-radius:14px}.pf-card strong{font-size:21px}.pf-card small,.pf-card span{font-size:11px}.pf-two{gap:12px}.pf-panel{padding:16px;border-radius:14px}.pf-panel h3{font-size:17px;margin-bottom:6px}.pf-panel p{font-size:12px;margin:4px 0 12px}.pf-guides{padding:10px 12px;font-size:12px;gap:10px}.pf-table th,.pf-table td{padding:9px 10px}.pf-button{padding:7px 10px;border-radius:9px;font-size:11.5px}.pf-actions{margin:8px 0}.pf-import-controls{padding:12px;margin:10px 0}.pf-dialog{padding:18px;border-radius:16px}.pf-form-grid{gap:10px}.pf-footer{padding:10px 0;margin-top:6px}
