.ppf-admin,.ppf-public{font-family:Arial,Helvetica,sans-serif;color:#10233c}.ppf-admin{padding:18px}.ppf-public{padding:18px;max-width:1280px;margin:0 auto}.ppf-card{background:#fff;border:1px solid #dce5ef;border-radius:18px;padding:20px;margin-bottom:18px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.ppf-toolbar{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.ppf-toolbar--between{justify-content:space-between}.ppf-grid{display:grid;gap:18px}.ppf-grid--2{grid-template-columns:1.2fr .8fr}.ppf-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.ppf-field--2{grid-column:span 2}.ppf-field--3{grid-column:span 3}.ppf-field--4{grid-column:span 4}.ppf-field--6{grid-column:span 6}.ppf-field--12{grid-column:span 12}.ppf-label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}.ppf-input,.ppf-select,.ppf-textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-sizing:border-box}.ppf-textarea{min-height:100px;resize:vertical}.ppf-checkbox{display:flex;align-items:center;gap:10px;padding-top:10px}.ppf-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ppf-btn,.ppf-btn-light,.ppf-btn-secondary,.ppf-btn-danger{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;text-decoration:none;border:1px solid transparent;font-weight:700;cursor:pointer}.ppf-btn{background:#1d4ed8;color:#fff}.ppf-btn-light{background:#fff;color:#0f172a;border-color:#cbd5e1}.ppf-btn-secondary{background:#0f766e;color:#fff}.ppf-btn-danger{background:#b91c1c;color:#fff}.ppf-alert{padding:12px 14px;border-radius:12px;margin-bottom:16px}.ppf-alert--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.ppf-alert--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.ppf-table-wrapper{overflow:auto;border:1px solid #e6edf5;border-radius:16px}.ppf-table{width:100%;border-collapse:collapse;min-width:780px}.ppf-table th,.ppf-table td{padding:14px 12px;border-bottom:1px solid #e6edf5;text-align:left;vertical-align:top}.ppf-table th{background:#f8fbff;color:#35506f;font-size:13px;text-transform:uppercase;letter-spacing:.02em}.ppf-table td strong{display:block;margin-bottom:4px}.ppf-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700}.ppf-link-stack{display:flex;flex-direction:column;gap:6px}.ppf-help p{margin:0 0 10px;color:#334155;line-height:1.6}.ppf-help code{background:#f1f5f9;padding:2px 6px;border-radius:6px}.ppf-page-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}.ppf-page-actions--right{justify-content:flex-end}.ppf-right-note{color:#64748b}.ppf-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.ppf-pagination a,.ppf-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:10px;border:1px solid #dce5ef;background:#fff;color:#0f172a;text-decoration:none;font-weight:700}.ppf-pagination .is-active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.ppf-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.ppf-category-link{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #dce5ef;border-radius:14px;text-decoration:none;background:#f8fbff;color:#0f172a}.ppf-category-link span{color:#64748b;font-size:14px}.ppf-muted{color:#64748b}.ppf-admin h1,.ppf-public h1{margin:0 0 8px;font-size:30px}.ppf-admin h2,.ppf-public h2{margin:0 0 12px;font-size:22px}.ppf-admin p,.ppf-public p{margin:0;color:#475569;line-height:1.6}@media (max-width:960px){.ppf-grid--2{grid-template-columns:1fr}.ppf-field--3,.ppf-field--6,.ppf-field--12{grid-column:span 12}.ppf-admin,.ppf-public{padding:14px}.ppf-page-actions--right{justify-content:flex-start}}

.ppf-search-box{background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);border:1px solid #d7e6fb;border-radius:16px;padding:18px}
.ppf-search-box__header h2{margin:0 0 6px;font-size:24px}.ppf-search-box__header p{margin:0 0 16px;color:#475569}
.ppf-muted{color:#64748b}
.ppf-empty-chart{padding:24px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#475569;text-align:center}
.ppf-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:14px;align-items:end;padding-top:8px}
.ppf-chart__item{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:250px}
.ppf-chart__value{font-weight:700;color:#1e3a8a}.ppf-chart__bar-wrap{width:100%;max-width:48px;height:190px;border-radius:14px;background:#e2e8f0;display:flex;align-items:flex-end;justify-content:center;padding:4px}
.ppf-chart__bar{width:100%;border-radius:10px 10px 8px 8px;background:linear-gradient(180deg,#60a5fa 0%,#1d4ed8 100%)}
.ppf-chart__label{font-size:12px;font-weight:700;color:#334155;text-align:center}
@media (max-width: 980px){.ppf-field--2,.ppf-field--3,.ppf-field--4,.ppf-field--6{grid-column:span 12}.ppf-public{padding:12px}.ppf-card{padding:16px}}


.ppf-search-grid{align-items:end}
.ppf-search-box .ppf-label{margin-bottom:8px;color:#0f172a}
.ppf-search-box .ppf-input,.ppf-search-box .ppf-select{height:46px;border-radius:12px;background:#fff}
.ppf-search-box .ppf-input:focus,.ppf-search-box .ppf-select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.18)}
.ppf-search-actions{justify-content:flex-start;padding-top:2px}
.ppf-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:16px;align-items:end;padding-top:8px}
.ppf-chart__item{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:262px}
.ppf-chart__value{font-weight:700;color:#0f172a}
.ppf-chart__bar-wrap{width:100%;max-width:54px;height:194px;border-radius:16px;background:linear-gradient(180deg,#eef2ff 0%,#e2e8f0 100%);display:flex;align-items:flex-end;justify-content:center;padding:4px;box-shadow:inset 0 1px 2px rgba(15,23,42,.08)}
.ppf-chart__bar{width:100%;border-radius:12px 12px 8px 8px;box-shadow:0 10px 18px rgba(15,23,42,.12)}
.ppf-chart__item:nth-child(6n+1) .ppf-chart__bar{background:linear-gradient(180deg,#60a5fa 0%,#2563eb 100%)}
.ppf-chart__item:nth-child(6n+2) .ppf-chart__bar{background:linear-gradient(180deg,#34d399 0%,#059669 100%)}
.ppf-chart__item:nth-child(6n+3) .ppf-chart__bar{background:linear-gradient(180deg,#fbbf24 0%,#d97706 100%)}
.ppf-chart__item:nth-child(6n+4) .ppf-chart__bar{background:linear-gradient(180deg,#f472b6 0%,#db2777 100%)}
.ppf-chart__item:nth-child(6n+5) .ppf-chart__bar{background:linear-gradient(180deg,#a78bfa 0%,#7c3aed 100%)}
.ppf-chart__item:nth-child(6n) .ppf-chart__bar{background:linear-gradient(180deg,#fb7185 0%,#e11d48 100%)}
.ppf-chart__label{font-size:12px;font-weight:700;color:#334155;text-align:center;line-height:1.3}
@media (min-width: 981px){
  .ppf-search-grid__keyword{grid-column:span 4}
  .ppf-search-grid__number,.ppf-search-grid__year,.ppf-search-grid__from,.ppf-search-grid__to{grid-column:span 2}
}
@media (max-width: 980px){
  .ppf-search-actions{justify-content:stretch}
  .ppf-search-actions .ppf-btn,.ppf-search-actions .ppf-btn-light{flex:1 1 180px}
}


.ppf-table tbody tr:nth-child(odd){background:#f8fbff}
.ppf-table tbody tr:nth-child(even){background:#eef6ff}
.ppf-table tbody tr:hover{background:#dbeafe}
.ppf-table tbody tr td:first-child{border-left:4px solid transparent}
.ppf-table tbody tr:nth-child(6n+1) td:first-child{border-left-color:#2563eb}
.ppf-table tbody tr:nth-child(6n+2) td:first-child{border-left-color:#059669}
.ppf-table tbody tr:nth-child(6n+3) td:first-child{border-left-color:#d97706}
.ppf-table tbody tr:nth-child(6n+4) td:first-child{border-left-color:#db2777}
.ppf-table tbody tr:nth-child(6n+5) td:first-child{border-left-color:#7c3aed}
.ppf-table tbody tr:nth-child(6n) td:first-child{border-left-color:#e11d48}
.ppf-year-summary{margin-top:24px;border-top:1px solid #e2e8f0;padding-top:20px}
.ppf-year-summary__header h3{margin:0 0 6px;font-size:20px;color:#10233c}
.ppf-year-summary__header{margin-bottom:14px}
.ppf-year-summary__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}
.ppf-year-summary__card{border-radius:16px;padding:16px 14px;color:#fff;box-shadow:0 10px 22px rgba(15,23,42,.10)}
.ppf-year-summary__card--1{background:linear-gradient(135deg,#2563eb,#1d4ed8)}
.ppf-year-summary__card--2{background:linear-gradient(135deg,#059669,#047857)}
.ppf-year-summary__card--3{background:linear-gradient(135deg,#d97706,#b45309)}
.ppf-year-summary__card--4{background:linear-gradient(135deg,#db2777,#be185d)}
.ppf-year-summary__card--5{background:linear-gradient(135deg,#7c3aed,#6d28d9)}
.ppf-year-summary__card--6{background:linear-gradient(135deg,#e11d48,#be123c)}
.ppf-year-summary__year{display:block;font-size:13px;font-weight:700;opacity:.92;text-transform:uppercase;letter-spacing:.04em}
.ppf-year-summary__value{display:block;font-size:28px;line-height:1.1;margin:8px 0 4px}
.ppf-year-summary__label{display:block;font-size:13px;opacity:.95}


.ppf-search-grid__category,.ppf-search-grid__modality{grid-column:span 2}
@media (max-width: 1100px){
  .ppf-search-grid__keyword{grid-column:span 12}
  .ppf-search-grid__number,.ppf-search-grid__year,.ppf-search-grid__category,.ppf-search-grid__modality,.ppf-search-grid__from,.ppf-search-grid__to{grid-column:span 6}
}
@media (max-width: 720px){
  .ppf-search-grid__number,.ppf-search-grid__year,.ppf-search-grid__category,.ppf-search-grid__modality,.ppf-search-grid__from,.ppf-search-grid__to{grid-column:span 12}
}
