:root{--pf-bg:#0b0c0e;--pf-surface:#121417;--pf-card:#161a1d;--pf-text:#e6e8ea;--pf-text-2:#a2a8ad;--pf-text-3:#7b8288;--pf-accent:#00d1b8;--pf-ok:#22c55e;--pf-warn:#f59e0b;--pf-err:#ef4444;--pf-info:#38bdf8}
.pf-dr{color:var(--pf-text)}
.pf-dr h1,.pf-dr h2,.pf-dr h3{font-weight:600;letter-spacing:-.2px}
.pf-dr h1{font-size:32px}
.pf-dr h2{font-size:24px}
.pf-dr h3{font-size:18px}
.pf-dr .pf-card{background:var(--pf-card);border:1px solid #23272b;border-radius:12px}
.pf-dr .pf-card.pf-card--light{background:#ffffff;color:#0b0c0e;border:1px solid #e5e7eb}
.pf-dr .pf-btn{height:40px;padding:0 14px;border-radius:12px}
.pf-dr .pf-btn--primary{background:var(--pf-accent);color:#0b0c0e}
.pf-dr .pf-btn--outline{background:transparent;border:1px solid #2a2f34;color:var(--pf-text)}
.pf-dr .pf-card--light .pf-btn--outline{background:#ffffff;border-color:#e5e7eb;color:#111827}
.pf-dr .pf-input{height:40px;border-radius:12px;border:1px solid #2a2f34;background:#0f1215;color:var(--pf-text);padding:0 12px}
.pf-dr .pf-card--light .pf-input{background:#ffffff;color:#111827;border-color:#d1d5db}
.pf-dr .pf-input:focus{outline:2px solid var(--pf-accent);outline-offset:0}
.pf-dr .pf-chip{font-size:12px;border-radius:999px;padding:2px 8px;border:1px solid #2a2f34;background:#0f1215}
.pf-dr .pf-card--light .pf-chip{background:#f9fafb;border-color:#e5e7eb;color:#111827}
.pf-dr .pf-chip--ok{border-color:#215b3a;background:#0e1a14;color:#74ffb2}
.pf-dr .pf-chip--warn{border-color:#6a4a11;background:#1b1408;color:#ffd37a}
.pf-dr .pf-chip--err{border-color:#5b1f1f;background:#1a0e0e;color:#ff8a8a}
.pf-dr .pf-section{padding:16px}
.pf-dr .pf-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:768px){.pf-dr .pf-grid--2{grid-template-columns:1fr 1fr}.pf-dr .pf-grid--3{grid-template-columns:repeat(3,1fr)}}
.pf-dr .pf-form-row{display:grid;grid-template-columns:1fr;gap:8px}
.pf-dr .pf-label{font-size:12px;color:var(--pf-text-2)}
.pf-dr .pf-help{font-size:12px;color:var(--pf-text-3)}


/* Modal sizing & scrolling */
.pf-modal{max-height:calc(100vh - 80px);display:flex;flex-direction:column}
.pf-modal__body{overflow:auto}

/* Tabs */
.pf-tabs{display:flex;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto}
.pf-tabs .pf-tab{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}
.pf-tabs .pf-tab.pf-tab--active{border-color:var(--pf-accent);color:#0b0c0e;background:rgba(0,209,184,.12)}
.pf-tab__label{display:inline-block}


/* Design Review Kanban (dark) */
.dr-kanban{width:100%}
.dr-kanban__col{min-width:0}
.dr-kanban__cards{min-height:240px}
.dr-kanban__card{background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;padding:12px}
.dr-avatar{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#f3f4f6;border:1px solid #e5e7eb;color:#475569;font-size:10px}
.dr-kanban__title{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:#374151;margin-bottom:8px}
.dr-kanban__count{font-weight:500;color:#6b7280}
.dr-kanban__card{transition:border-color .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s cubic-bezier(.2,.8,.2,1), transform .18s cubic-bezier(.2,.8,.2,1)}
.dr-kanban__card:hover{border-color:#cbd5e1;box-shadow:0 6px 16px rgba(0,0,0,.1);transform:translateY(-1px)}
.pf-dr .pf-badge{display:inline-block;font-size:10px;line-height:1;padding:4px 6px;border-radius:9999px;border:1px solid transparent}
.pf-dr .pf-badge--open{background:rgba(56,189,248,.10);color:#7dd3fc;border-color:rgba(56,189,248,.25)}
.pf-dr .pf-badge--in_review{background:rgba(245,158,11,.10);color:#fbbf24;border-color:rgba(245,158,11,.25)}
.pf-dr .pf-badge--completed{background:rgba(34,197,94,.10);color:#86efac;border-color:rgba(34,197,94,.25)}
.pf-dr .pf-badge--canceled{background:rgba(239,68,68,.10);color:#fca5a5;border-color:rgba(239,68,68,.25)}
.pf-dr .dr-kanban__col--pending .pf-card{border-color:rgba(56,189,248,.25)}
.pf-dr .dr-kanban__col--reviewing .pf-card{border-color:rgba(245,158,11,.25)}
.pf-dr .dr-kanban__col--approved .pf-card{border-color:rgba(34,197,94,.25)}
.pf-dr .dr-kanban__col--denied .pf-card{border-color:rgba(239,68,68,.25)}

/* Transitions for interactive elements */
.pf-dr .pf-btn,.pf-dr .pf-input,.pf-dr .pf-chip{transition:background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease}
.pf-dr .pf-btn:hover{transform:translateY(-0.5px)}

/* Compact density for drDashboardModal */
.pf-dr #drDashboardModal.pf-compact .pf-btn{height:32px;padding:0 10px;border-radius:10px}
.pf-dr #drDashboardModal.pf-compact .pf-input{height:32px;border-radius:10px}
.pf-dr #drDashboardModal.pf-compact .pf-tabs{gap:4px}
.pf-dr #drDashboardModal.pf-compact .dr-kanban__card{padding:10px;border-radius:10px}
.pf-dr #drDashboardModal.pf-compact .dr-kanban__title{margin-bottom:6px}
.pf-dr #drDashboardModal.pf-compact .pf-card{border-radius:10px}

/* Compact density for Review Board shell */
.pf-dr #reviewBoardShell.pf-compact .pf-btn{height:32px;padding:0 10px;border-radius:10px}
.pf-dr #reviewBoardShell.pf-compact .pf-input{height:32px;border-radius:10px}
.pf-dr #reviewBoardShell.pf-compact .pf-card{border-radius:10px}
