:root{
  --pm-blue:#164f86;--pm-blue-2:#236ca8;--pm-navy:#0f365d;--pm-soft:#edf5fb;
  --pm-bg:#f3f6f9;--pm-card:#fff;--pm-border:#d7e0e8;--pm-text:#1f2d3a;--pm-muted:#657586;
  --pm-shadow:0 10px 35px rgba(20,53,82,.08)
}
[data-bs-theme="dark"]{
  --pm-bg:#0f1720;--pm-card:#17222d;--pm-border:#2e3d4b;--pm-text:#e7edf3;--pm-muted:#a6b4c1;
  --pm-soft:#1d3346;--pm-shadow:0 12px 38px rgba(0,0,0,.25)
}
*{box-sizing:border-box}body{margin:0;background:var(--pm-bg);color:var(--pm-text);font-family:Inter,Segoe UI,Arial,sans-serif;min-height:100vh}.topbar{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:22px;min-height:76px;padding:12px 28px;background:linear-gradient(135deg,var(--pm-navy),var(--pm-blue-2));color:#fff;box-shadow:0 3px 18px rgba(0,0,0,.17)}.brand-wrap{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;white-space:nowrap}.brand-wrap:hover{color:#fff}.brand-logo{width:125px;height:45px;object-fit:contain;object-position:left center;background:#fff;border-radius:5px;padding:4px}.brand-wrap span{display:flex;flex-direction:column}.brand-wrap strong{font-size:14px;letter-spacing:.02em}.brand-wrap small{font-size:11px;opacity:.78}.main-nav{display:flex;align-items:center;gap:3px;flex:1}.main-nav a{color:rgba(255,255,255,.82);padding:9px 10px;border-radius:7px;text-decoration:none;font-size:13px;font-weight:600}.main-nav a:hover{color:#fff;background:rgba(255,255,255,.11)}.top-actions{display:flex;align-items:center;gap:10px}.top-actions form{margin:0}.global-search input{width:240px;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(255,255,255,.11);color:#fff;padding:9px 11px;font-size:13px}.global-search input::placeholder{color:rgba(255,255,255,.65)}.global-search input:focus{outline:2px solid rgba(255,255,255,.5)}.icon-btn{width:36px;height:36px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:transparent;color:#fff;font-size:19px}.user-box{display:flex;flex-direction:column;padding:0 4px}.user-box strong{font-size:12px}.user-box small{font-size:10px;opacity:.72}.portal-container{max-width:1480px;margin:0 auto;padding:32px 26px 50px}.login-container{padding:0;max-width:none}.portal-footer{padding:18px 24px;text-align:center;color:var(--pm-muted);font-size:12px}.portal-footer a{color:var(--pm-blue)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.page-heading h1{margin:0 0 5px;font-size:31px;letter-spacing:-.03em;color:var(--pm-blue)}.page-heading p{margin:0;color:var(--pm-muted)}.eyebrow{margin:0 0 6px!important;color:var(--pm-blue)!important;font-size:11px!important;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.heading-actions,.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.heading-actions form,.table-actions form{margin:0}.portal-card{background:var(--pm-card);border:1px solid var(--pm-border);border-radius:13px;padding:24px;box-shadow:var(--pm-shadow)}.narrow-card{max-width:760px;margin:0 auto}.section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.section-head h2,.portal-card>h2{margin:0;color:var(--pm-blue);font-size:19px}.section-head p{margin:3px 0 0;color:var(--pm-muted);font-size:13px}.section-head a{color:var(--pm-blue);font-weight:700;text-decoration:none;font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric-card{display:flex;flex-direction:column;min-height:142px;padding:20px;border:1px solid var(--pm-border);border-radius:12px;background:var(--pm-card);box-shadow:var(--pm-shadow);text-decoration:none;color:var(--pm-text)}.metric-card:hover{border-color:#8fb3d2;transform:translateY(-1px)}.metric-card span{font-size:13px;font-weight:700;color:var(--pm-muted)}.metric-card strong{margin:7px 0;font-size:32px;color:var(--pm-blue)}.metric-card small{font-size:12px;color:var(--pm-muted)}.metric-grid.compact{grid-template-columns:repeat(4,1fr);margin:14px 0}.metric-grid.compact .metric-card{min-height:95px;padding:14px}.metric-grid.compact .metric-card strong{font-size:20px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.list-stack{display:flex;flex-direction:column}.job-row,.document-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;color:var(--pm-text);padding:13px 3px;border-bottom:1px solid var(--pm-border);text-decoration:none}.job-row:last-child,.document-row:last-child{border:0}.job-row:hover,.document-row:hover{color:var(--pm-blue)}.job-row span:nth-child(2),.document-row span:nth-child(2){display:flex;flex-direction:column}.job-row small,.document-row small{color:var(--pm-muted);margin-top:2px}.status-dot{width:9px;height:9px;border-radius:50%;background:#f0a42f;box-shadow:0 0 0 4px rgba(240,164,47,.13)}.status-dot.completed{background:#2f9d68;box-shadow:0 0 0 4px rgba(47,157,104,.13)}.status-pill{display:inline-block;width:max-content;border-radius:99px;padding:4px 9px;background:#fff4dd;color:#97620f;font-size:11px;font-weight:800}.status-pill.completed{background:#e5f6ee;color:#23764f}.status-pill.inactive{background:#f5e8e8;color:#943838}.doc-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:var(--pm-soft);color:var(--pm-blue);font-size:12px;font-weight:900}.badge-soft{display:inline-block;border-radius:99px;background:var(--pm-soft);color:var(--pm-blue);padding:5px 9px;font-size:11px;font-weight:800}.portal-table{--bs-table-bg:transparent;--bs-table-color:var(--pm-text);margin:0}.portal-table thead th{border:0;background:var(--pm-blue);color:#fff;padding:11px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.portal-table thead th:first-child{border-radius:8px 0 0 8px}.portal-table thead th:last-child{border-radius:0 8px 8px 0}.portal-table tbody td{padding:12px;border-color:var(--pm-border);font-size:13px;vertical-align:middle}.record-link{font-weight:800;color:var(--pm-blue);text-decoration:none}.archived-row{opacity:.65}.empty-state{padding:28px!important;text-align:center;color:var(--pm-muted)}.filter-tabs{display:flex;gap:5px;margin-bottom:16px}.filter-tabs a{padding:8px 13px;border-radius:8px;color:var(--pm-muted);font-weight:700;text-decoration:none;font-size:13px}.filter-tabs a.active{background:var(--pm-blue);color:#fff}.type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.type-card{position:relative;display:block;min-height:240px;padding:30px;border:1px solid var(--pm-border);border-radius:14px;background:var(--pm-card);box-shadow:var(--pm-shadow);color:var(--pm-text);text-decoration:none}.type-card:hover{border-color:#85acca;transform:translateY(-2px)}.type-card h2{margin:24px 0 9px;color:var(--pm-blue);font-size:23px}.type-card p{max-width:520px;color:var(--pm-muted);line-height:1.6}.type-link{position:absolute;bottom:28px;color:var(--pm-blue);font-weight:800;font-size:13px}.form-card{max-width:1120px;margin:0 auto}.form-section{padding-bottom:27px;margin-bottom:27px;border-bottom:1px solid var(--pm-border)}.form-section:last-of-type{border:0}.form-section h2{margin:0 0 19px;color:var(--pm-blue);font-size:19px}.form-label{font-weight:700;font-size:13px}.form-control,.form-select{border-color:var(--pm-border);background-color:var(--pm-card);color:var(--pm-text);padding:.65rem .75rem}.form-control:focus,.form-select:focus{border-color:#6b9bc1;box-shadow:0 0 0 .2rem rgba(22,79,134,.13)}.form-text{color:var(--pm-muted)}.form-actions{display:flex;justify-content:flex-end;gap:10px}.btn-primary{--bs-btn-bg:var(--pm-blue);--bs-btn-border-color:var(--pm-blue);--bs-btn-hover-bg:var(--pm-navy);--bs-btn-hover-border-color:var(--pm-navy)}.detail-header{display:flex;gap:8px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.detail-grid>div{display:flex;flex-direction:column;gap:4px;min-height:95px;padding:15px;border:1px solid var(--pm-border);border-radius:9px;background:var(--pm-bg)}.detail-grid small{color:var(--pm-muted);text-transform:uppercase;font-weight:800;font-size:10px;letter-spacing:.05em}.detail-grid a{color:var(--pm-blue);font-size:12px;font-weight:700;text-decoration:none}.detail-content h2{margin:28px 0 10px;color:var(--pm-blue);font-size:17px}.detail-content h2:first-child{margin-top:0}.content-box{padding:17px;border:1px solid #a9bfd1;border-left:4px solid var(--pm-blue);border-radius:5px;background:var(--pm-bg);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.content-box.conclusion{background:var(--pm-soft)}.dropzone{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px;margin:0 0 22px;padding:24px;border:2px dashed #95b2ca;border-radius:10px;background:var(--pm-bg)}.dropzone.dragover{border-color:var(--pm-blue);background:var(--pm-soft)}.dropzone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.dropzone label{display:flex;flex-direction:column;pointer-events:none}.dropzone label span{color:var(--pm-muted);font-size:12px}.dropzone button{position:relative;z-index:2}.attachment-list{display:flex;flex-direction:column}.attachment-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid var(--pm-border);color:var(--pm-text);text-decoration:none}.attachment-item:last-child{border:0}.attachment-item>span:nth-child(2){display:flex;flex-direction:column}.attachment-item small{color:var(--pm-muted)}.file-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:35px;border-radius:6px;background:var(--pm-soft);color:var(--pm-blue);font-size:9px;font-weight:900}.login-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 15%,rgba(35,108,168,.26),transparent 35%),linear-gradient(135deg,#0c2e4e,#164f86 55%,#236ca8)}.login-card{width:min(440px,100%);padding:38px;background:var(--pm-card);border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.login-logo{display:block;width:220px;max-height:75px;object-fit:contain;object-position:left center;margin-bottom:25px}.login-card h1{margin:0;color:var(--pm-blue);font-size:31px}.company-card{margin-top:27px;padding-top:20px;border-top:1px solid var(--pm-border);font-size:11px;line-height:1.6;color:var(--pm-muted)}code{white-space:normal;color:var(--pm-text)}
@media(max-width:1180px){.topbar{flex-wrap:wrap}.main-nav{order:3;width:100%}.global-search input{width:190px}.user-box{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.portal-container{padding:22px 14px}.topbar{padding:11px 14px}.brand-logo{width:100px}.main-nav{overflow-x:auto}.top-actions{margin-left:auto}.global-search{display:none}.page-heading{align-items:flex-start;flex-direction:column}.dashboard-grid,.type-grid{grid-template-columns:1fr}.metric-grid,.metric-grid.compact{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.dropzone{grid-template-columns:1fr}.portal-card{padding:17px}.heading-actions{width:100%}}
@media(max-width:480px){.metric-grid,.metric-grid.compact{grid-template-columns:1fr}.brand-wrap span{display:none}.main-nav a{padding:8px 7px}.login-card{padding:25px}}

.recent-document-row{grid-template-columns:auto minmax(180px,1fr) auto}.recent-document-actions{justify-content:flex-end}.modal-content{color:var(--pm-text);background:var(--pm-card)}
@media(max-width:900px){.recent-document-row{grid-template-columns:auto 1fr}.recent-document-actions{grid-column:1/-1;justify-content:flex-start;padding-left:54px}}
