.ppol-ui{--pf-accent:#315e59;--pf-line:#ccd9d6;--pf-soft:#f4f8f6;--pf-header-offset:120px;color:#203732;font-size:16px;line-height:1.65;max-width:1440px;margin:0 auto;padding:24px 16px;box-sizing:border-box}
.ppol-ui *{box-sizing:border-box}.ppol-ui [hidden]{display:none!important}
.ppol-ui .ppol-base-header h1{font-size:clamp(25px,3vw,36px);margin:0 0 8px;color:#203732}.ppol-ui .ppol-base-header p{margin:0;color:#49605b}
.ppol-ui .pf-layout{display:grid!important;grid-template-columns:310px minmax(0,1fr);gap:28px;margin:28px 0;align-items:start}
.ppol-ui .pf-sidebar{position:sticky!important;top:var(--pf-header-offset);align-self:start;max-height:calc(100dvh - var(--pf-header-offset) - 20px);overflow:auto!important;padding:18px;border:1px solid var(--pf-line);border-radius:14px;background:#fff;scrollbar-gutter:stable}
.ppol-ui .pf-sidebar>details>summary{font-size:20px;padding:0 0 12px}.ppol-ui summary{cursor:pointer}.ppol-ui .pf-sidebar form>details{padding:12px 0;border-bottom:1px solid var(--pf-line)}
.ppol-ui .pf-sidebar summary{font-weight:700;line-height:1.45}.ppol-ui .pf-sidebar input[type=search],.ppol-ui .pf-sidebar select{width:100%;min-height:44px;border:1px solid #78968e;background:#fff;color:#203732;padding:9px;border-radius:6px;margin-top:5px;font-size:16px}
.ppol-ui .ppol-filter-choice{display:flex;gap:10px;align-items:flex-start;padding:7px 0;line-height:1.4;font-size:14px;cursor:pointer}.ppol-ui .ppol-filter-choice input{flex:0 0 auto;width:18px;height:18px;accent-color:#315e59;margin-top:2px}
.ppol-ui .ppol-filter-heading{font-size:14px;text-transform:uppercase;letter-spacing:.05em;margin:22px 0 0;color:#506c64}.ppol-ui .ppol-filter-note,.ppol-ui .ppol-save-note,.ppol-ui .ppol-editor-note{font-size:13px;color:#506c64;line-height:1.5}
.ppol-ui button,.ppol-ui .pf-sidebar button{background:#315e59;color:#fff;border:1px solid #315e59;border-radius:7px;padding:10px 16px;min-height:44px;font:inherit;line-height:1.4;cursor:pointer}.ppol-ui button:hover{background:#234942}.ppol-ui button:focus-visible,.ppol-ui a:focus-visible,.ppol-ui input:focus-visible,.ppol-ui textarea:focus-visible,.ppol-ui summary:focus-visible,.ppol-ui select:focus-visible{outline:3px solid #986212;outline-offset:3px}
.ppol-ui .ppol-filter-actions{position:sticky;bottom:-18px;background:#fff;padding:12px 0;margin:0;z-index:2}.ppol-ui .ppol-filter-actions button{width:100%}.ppol-ui .ppol-filter-actions:first-of-type{position:static}
.ppol-ui .ppol-option-list{max-height:340px;overflow:auto;padding-right:5px}.ppol-ui .ppol-topic{margin:8px 0 8px 8px}.ppol-ui .ppol-topic summary{font-size:14px}.ppol-ui .pf-results{min-width:0;scroll-margin-top:120px}
.ppol-ui .ppol-results-toolbar,.ppol-ui .ppol-task-nav{display:flex;gap:15px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0 0 16px}.ppol-ui .ppol-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.ppol-ui .ppol-active-filters a{background:#e8f2ed;color:#234942;border:1px solid #9bb8ac;border-radius:20px;padding:5px 12px;font-size:14px}
.ppol-ui .ppol-progress-tools{background:#fff;border:1px solid var(--pf-line);border-radius:10px;padding:12px 16px;margin:16px 0}.ppol-ui .ppol-progress-tools button{margin:5px 10px 5px 0}.ppol-ui .ppol-import-progress{display:block;margin:10px 0}.ppol-ui .ppol-admin-view{background:#fff8e1;padding:12px;border:1px solid #cfb665}
.ppol-ui .pf-card{background:#fff;border:1px solid var(--pf-line);border-radius:14px;padding:26px;margin:20px 0 28px;overflow-wrap:anywhere}.ppol-ui .pf-card-head h2{font-size:23px;margin:0 0 14px}.ppol-ui .pf-card h2 a{color:#244d43}.ppol-ui .pf-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.ppol-ui .pf-meta span{font-size:12px;border:1px solid var(--pf-line);border-radius:20px;padding:3px 9px;background:var(--pf-soft)}
.ppol-ui .pf-disclosure{border:1px solid var(--pf-line);border-radius:8px;margin:12px 0;overflow:hidden}.ppol-ui .pf-disclosure>summary{padding:12px 16px;background:var(--pf-soft);font-weight:600}.ppol-ui .pf-panel-body{padding:18px}.ppol-ui .ppol-source-text{white-space:pre-wrap;line-height:1.75}.ppol-ui .ppol-source-text p,.ppol-ui .ppol-source-text figure{white-space:normal}
.ppol-ui img{max-width:100%;height:auto}.ppol-ui figure{margin:14px 0}.ppol-ui figcaption{font-size:13px;color:#506c64}.ppol-ui .pf-prompt{margin:20px 0}.ppol-ui .pf-prompt table{width:100%;border-collapse:collapse}.ppol-ui .pf-prompt td,.ppol-ui .pf-prompt th{border:1px solid #829b92;padding:10px;text-align:left;vertical-align:top}
.ppol-ui .pf-answer-entry{background:var(--pf-soft);padding:18px;border-radius:10px}.ppol-ui .pf-answer-entry textarea{display:block;width:100%;min-height:120px;border:1px solid #78968e;border-radius:6px;background:#fff;color:#203732;font:inherit;padding:12px;resize:vertical}.ppol-ui .pf-answer-footer,.ppol-ui .pf-progress-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.ppol-ui .pf-progress-row label{padding:5px}.ppol-ui [data-pf-save-status]{font-size:13px}.ppol-ui .pf-help-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.ppol-ui .pf-help-panel{padding:16px;border:1px solid var(--pf-line);margin:10px 0;background:#fff}.ppol-ui [data-pf-maximum-exceeded=true]{color:#921a1a}
.ppol-ui .pf-pagination{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.ppol-ui .pf-pagination a{min-height:44px;padding:8px 14px;border:1px solid #78968e;border-radius:6px}.ppol-ui .pf-pagination [aria-current=page]{background:#315e59;color:#fff}
@media(max-width:1000px){.ppol-ui .pf-layout{grid-template-columns:270px minmax(0,1fr);gap:18px}.ppol-ui .pf-card{padding:20px}}
@media(max-width:900px){.ppol-ui{padding:20px 10px}.ppol-ui .pf-layout{display:block!important;margin-top:18px}.ppol-ui .pf-sidebar{position:static!important;max-height:none;overflow:visible!important;margin-bottom:20px}.ppol-ui .pf-sidebar>details[open]>form{max-height:65dvh;overflow:auto;padding-right:5px}.ppol-ui .pf-sidebar>details>summary{padding-bottom:0}.ppol-ui .pf-card{padding:18px 14px}.ppol-ui .pf-help-buttons button{flex:1 1 145px}.ppol-ui .pf-card-head h2{font-size:21px}.ppol-ui .pf-results{scroll-margin-top:90px}}