/* Shared portal theme. Loaded last; module geometry and status meanings stay intact. */
:root {
  color-scheme: dark;
  --bg: #121518;
  --surface: #1b1f23;
  --surface2: #252a2f;
  --surface3: #32383e;
  --line: #40474e;
  --line2: #2c3238;
  --text: #edf0f2;
  --muted: #b7bfc7;
  --faint: #98a3ad;
  --blue: #92c5fa;
  --blue2: #6b9ac6;
  --green: #84dbb3;
  --amber: #edc477;
  --red: #f4a1a5;
  --violet: #c2b4f3;
  --radius: 5px;
  --section-wash: linear-gradient(100deg, transparent 0%, #c2c9cf04 30%, #c2c9cf0d 100%);
  --row-hover: linear-gradient(100deg, #ffffff03, #ffffff0c);
  --control-wash: linear-gradient(180deg, #363c42, #292e33);
  --control-hover: linear-gradient(180deg, #444b52, #333940);
  --control-active: linear-gradient(180deg, #252b30, #30363c);
  --control-line: #57616b;
  --control-light: inset 0 1px 0 #ffffff12;
  --control-shadow: var(--control-light), 0 2px 4px #0005;
  --control-shadow-hover: inset 0 1px 0 #ffffff1c, 0 4px 9px #0005;
  --overlay-shadow: 0 12px 36px #0007;
  --focus-ring: 0 0 0 3px #92c5fa30;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --motion-fast: 130ms;
  --motion-normal: 180ms;
  --motion-ease: cubic-bezier(.2,.7,.3,1);
  /* The standalone calculator shares these roles with the portal. */
  --panel: var(--surface);
  --panel2: var(--surface2);
  --accent: var(--blue);
  --accent2: var(--blue2);
  --danger: var(--red);
  --ok: var(--green);
  --warn: var(--amber);
  --input: #15191d;
  font: 14px/1.5 'Inter','Segoe UI',Arial,sans-serif;
}
body{background:var(--bg)}
.header{background:#181c20;border-color:var(--line)}
.topbar{min-height:64px}
.brand-name{font-size:15px}
.brand-sub{font-size:9px;color:var(--faint)}
.brand-emblem{color:var(--blue)}
.main{max-width:1680px;padding:22px 24px 32px;margin-inline:auto}
.footer{max-width:1680px;padding-inline:24px;color:var(--faint)}
.breadcrumbs{font-size:11px;margin-bottom:10px}
.pagehead{margin-bottom:18px;gap:16px}
.pagehead h1,.pd-staff-profile .pagehead h1{font-size:25px;letter-spacing:-.5px}
.pagehead .desc{font-size:12px;max-width:70ch;color:var(--muted);margin-top:5px}
.pagehead>.actions{gap:7px;flex-wrap:wrap}
.main-nav{padding-block:0;background:#181c20;border-color:var(--line)}
.nav-button{font-size:12px;padding:11px 13px;color:var(--muted)}
.nav-button.active,.nav-button:hover{color:var(--text);background:#262e32;border-color:var(--blue)}
.nav-menu,.pd-user-dropdown{background:#23282d;border-color:var(--line);border-radius:8px}
.nav-menu button:hover,.nav-menu button.selected,.pd-user-dropdown button:hover{background:#30393f;color:var(--text)}
.worktabs{background:#15191c;border-color:var(--line2)}
.worktab{background:transparent;border-color:transparent;color:var(--muted)}
.worktab.active{background:var(--section-wash);border-color:#687582;color:var(--text)}
.pd-sync{background:#1b1f23;border-color:var(--line2);min-height:31px;padding-block:5px;color:var(--muted)}
.pd-sync button{background:transparent;border-color:var(--line);color:inherit}
.panel,.stat{background:var(--surface);border:1px solid var(--line2);border-radius:var(--radius);box-shadow:none}
.panel-head{padding:12px 16px;border-bottom:1px solid var(--line2);min-height:45px}
.panel-head h2,h2{font-size:15px}
.panel-body{padding:16px}
.panel-footer{padding:10px 16px;border-color:var(--line2)}
.panel .panel{background:transparent;border:0;border-radius:0;box-shadow:none}
.panel .panel>.panel-head{padding-inline:0;background:transparent;border-bottom:1px solid var(--line2)}
.panel .panel>.panel-body{padding-inline:0}
.stack{gap:16px;align-content:start}
.detail-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:20px;align-items:start}
.detail-grid>*,.dash-grid>*{min-width:0}
.card-grid{gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.info-grid{gap:14px 20px}
.info-item label{font-size:10px;color:var(--faint)}
.info-item div{font-size:13px}
.profile-summary{padding:16px;margin-bottom:16px;gap:14px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}
.profile-summary h2{font-size:19px}
.profile-summary .avatar.lg{width:64px;height:64px}
.profile-summary .grow{flex:0 1 600px}
.small{font-size:12px}
.tiny{font-size:11px}
.muted{color:var(--muted)}
.empty{padding:24px 16px;font-size:12px}
.empty svg{width:25px;height:25px;margin-bottom:9px}
.empty h3{font-size:14px;color:var(--text)}
.btn{font-size:12px;min-height:32px;padding:6px 11px;border:1px solid #46515a;background:#292f35;color:var(--text);border-radius:6px;gap:7px;box-shadow:none}
.btn:hover{background:#354047;border-color:#64717c}
.btn.primary{background:var(--control-wash);border-color:#7595b3;color:#e7f2ff}
.btn.primary:hover{background:var(--control-hover);border-color:var(--blue)}
.btn.danger{background:transparent;border-color:#70454a;color:#f3a7ae}
.btn.danger:hover{background:#41272c}
.btn.slim{min-height:30px;padding:5px 9px;font-size:11px}
.btn svg,.icon-button svg{width:16px;height:16px}
.icon-button,.pd-icon-action{width:32px;min-width:32px;height:32px;min-height:32px;padding:7px;border-radius:6px}
.icon-button:hover{background:#303940;color:var(--text)}
.pd-icon-action{display:inline-flex;justify-content:center;align-items:center}
.text-button{color:var(--blue);font-size:12px}
.text-button:hover{color:#b9dbff}
.actions{gap:7px}
.section-note{background:#222b2e;border-color:#43535a;color:var(--muted);padding:10px 13px;margin-bottom:14px}
.section-note.amber{background:#302b21;border-color:#645332;color:#edcf95}
.section-note.red{background:#352329;border-color:#6b424b;color:#f0b2bd}
.badge{font-size:10px;padding:2px 6px;border-radius:4px;border-color:#47515b;background:#293039;color:#c2cbd4}
.badge.gray{background:#293039;border-color:#47515b;color:#c2cbd4}
.badge.blue{background:#203148;border-color:#3d6087;color:#acd2ff}
.badge.green{background:#20372d;border-color:#3c6a50;color:#9be5bb}
.badge.amber{background:#3b3020;border-color:#705e39;color:#f0ce8a}
.badge.red{background:#3c252d;border-color:#744450;color:#f6adb8}
.badge.violet{background:#302c40;border-color:#5d527a;color:#d0c1f3}
.avatar{background:#303c43;color:#cedce2;border-radius:7px}
.avatar.teal{background:#293c51;color:#b4d6fc}
.avatar.violet{background:#40374d;color:#ddd0ed}
.avatar.amber{background:#493d29;color:#e4cea7}
input,select,textarea{font-size:12px;background:#14191d;color:var(--text);border-color:#46515c;border-radius:6px;padding:8px 10px;min-height:35px}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #7dbbff25}textarea{min-height:92px;line-height:1.6}::placeholder{color:#8e9aa6}
.field>label,.field>span{font-size:11px;color:var(--muted)}
.form-grid{gap:14px 18px}
.checkbox-field{font-size:12px;line-height:1.5;gap:9px}
.checkbox-field input{min-height:17px;flex-shrink:0}
.toolbar{gap:9px;margin-bottom:14px;align-items:center}
.toolbar .search-input{max-width:360px;min-width:200px}
.toolbar .grow{flex:1}
.toolbar select{min-height:34px;padding:7px 28px 7px 9px;font-size:12px}
.pd-list-sort{display:flex;align-items:center;gap:3px}
.pd-list-sort select{max-width:160px}
.pd-sort-heading{display:flex;align-items:center;gap:7px;font:inherit;text-transform:inherit;letter-spacing:inherit;padding:0;border:0;background:transparent;color:inherit;text-align:left;min-height:25px}
.pd-sort-heading span{color:var(--faint);font-size:12px}
.pd-sort-heading:hover{color:var(--blue)}th[aria-sort=ascending],th[aria-sort=descending]{color:var(--blue)}
.pd-filter-menu{position:relative;flex:0 1 auto}
.pd-filter-menu summary{list-style:none;display:flex;align-items:center;cursor:pointer;max-width:340px}
.pd-filter-menu summary::-webkit-details-marker{display:none}
.pd-filter-menu summary .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:11px}
.pd-filter-popover{position:absolute;right:0;top:calc(100% + 7px);z-index:50;width:235px;padding:14px;display:grid;gap:11px;background:#242b30;border:1px solid #55616c;border-radius:8px;box-shadow:0 8px 22px #0006}
.pd-filter-popover .btn{margin-top:5px}
table{font-size:12px}thead th{background:#23292e;color:#b6c1ca;padding:9px 13px;border-bottom:1px solid #4c5863;font-size:10px;letter-spacing:.4px}tbody td{padding:10px 13px;border-color:#30383e}tbody tr:nth-child(even){background:#ffffff02}tbody tr.clickable:hover{background:var(--row-hover)}td .person-cell{gap:9px}
.person-cell strong{font-size:12px}
.person-cell small{color:var(--faint);font-size:10px}td .mt8{margin-top:3px}
.table-footer{padding:9px 13px;color:var(--muted);border-color:var(--line2)}
.table-footer select{min-height:27px}
.table-wrap{border-radius:7px}
.note-card,.part-row,.pd-evidence-item{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0}
.notes{gap:5px}
.note-card:last-child,.pd-evidence-item:last-child{border-bottom:0}
.note-card p{line-height:1.6}
.part-list{gap:5px}
.part-row{padding:7px 0;font-size:12px}
.pd-charge-checks{background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;gap:8px}
.pd-case-chip{background:#272f34;border-color:#45525b;padding:4px 7px;font-size:11px}
.pd-case-choice{background:transparent;border-color:#46515c;padding:6px 9px;min-height:36px}
.pd-case-choice .btn{min-height:28px}
.pd-evidence-summary{padding:12px 15px}
.pd-evidence-summary .actions{gap:7px}
.pd-evidence-case-folder{padding-block:12px}
.pd-evidence-photo{background:#242a30;border-color:#46515b;border-radius:6px}
.pd-evidence-photos{gap:9px}
.pd-evidence-preview{height:130px}
.pd-evidence-item h3{font-size:13px}
.pd-profile-training{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}
.pd-profile-training>summary{padding:9px 0}
.pd-profile-training .part-list{padding:0 0 10px 18px}
.pd-profile-training .part-row{padding:6px 0;background:transparent}
.pd-profile-training-grid{gap:12px 20px}
.pd-profile-layout .panel-head{padding:12px 15px}
.pd-profile-layout .panel-body{padding:15px}
.pd-profile-layout .note-card{padding:10px 0}
.pd-profile-disclosure{border-color:var(--line2)}
.pd-access-main .detail-grid{max-width:1120px;grid-template-columns:minmax(0,1fr) minmax(280px,370px)}
.pd-package-editor{max-width:1120px}
.pd-bundle{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px 0}
.pd-right-category{border-color:var(--line)}
.permission-row{padding:10px 0}
.permission-row small{color:var(--faint)}
.pd-right-category>summary{font-size:13px}
.pd-user-menu[open]>summary{background:#2a343b}
.pd-login{background:#12181b}
.pd-login-card{border-color:#48545d}
.pd-login-mark{background:#243a53;color:#c0dfff;border-color:#587fa9}
.pd-installation-main{max-width:940px}
.pd-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.stat{padding:15px 17px}
.stat-number{font-size:28px;color:var(--text)}
.stat-top{font-size:11px;color:var(--muted)}
.stat-bottom{font-size:10px;color:var(--faint)}
.announcement{padding:16px}
.announcement .title{font-size:16px}
.quick-link{background:transparent;border-color:var(--line);font-size:12px;padding:10px}
.quick-link:hover{background:#2b394b}
.timeline-row{padding:10px 0}
.timeline-icon{background:#303a3f;color:#aec5cc}
.group-card{padding:16px}
.group-symbol{background:#2b383d;color:#c4d4da;width:36px;height:36px;margin-bottom:12px}
.group-card h2{font-size:16px}
.group-card .group-meta{margin-top:15px;padding-top:10px}
.training-card .details{margin-block:12px;gap:5px}
.tabs-pills{margin-bottom:16px;border-color:var(--line)}
.tabs-pills button{font-size:12px;padding:9px 12px}
.modal{background:#1b2024;border-color:#53606b;border-radius:10px}
.modal-head{padding:14px 18px;border-color:var(--line)}
.modal-content{padding:18px}
.modal-actions{padding:12px 18px;border-color:var(--line)}
.notification-drawer{background:#1b2024;border-color:var(--line)}
.pd-dispatch-column{background:transparent;border-color:var(--line);border-top-color:var(--unit-color)}
.pd-unit{background:#1b2227;border-color:#46525b;border-left-color:var(--unit-color)}
.pd-duty-person{background:#262e33;border-color:#45515b}
.pd-dispatch-popover,.pd-lead-options{background:#242c31;border-color:#52606a}
.pd-lead-option:hover{background:#30455e}
.pd-unit-overdue{border-color:#ee7d91;box-shadow:0 0 0 2px #ee7d9122}
.pd-dispatch-roster{background:#1b2227}
.pd-status-button{background:#283036;border-color:#4b5761;color:#bbc5cc}
@media(max-width:1000px){.main{padding:20px}
.toolbar{gap:8px}
.toolbar .grow{display:none}
.detail-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr)}}
@media(max-width:820px){.main{padding:18px 14px 28px}
.detail-grid,.pd-access-main .detail-grid{grid-template-columns:minmax(0,1fr)}
.pagehead h1{font-size:23px}
.pagehead>.actions{width:100%;justify-content:flex-start}
.pagehead .actions .btn{flex:0 1 auto}
.card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.toolbar .search-input{max-width:none;flex-basis:100%}
.pd-filter-menu summary{max-width:100%}
.pd-filter-popover{right:auto;left:0}
.pd-module-grid{grid-template-columns:minmax(0,1fr)}
.panel-body{padding:14px}
.toolbar .pd-list-sort select{max-width:160px}
.info-grid{gap:12px}
.table-footer{flex-wrap:wrap}
.pd-profile-layout .panel-body{padding:14px}
.topbar{min-height:64px}
.main-nav{top:64px}}
@media(pointer:coarse){.btn,.btn.slim,.icon-button,.pd-icon-action,.pd-staff-profile .btn,.pd-unit .pd-dispatch-icon-button{min-height:44px}
.icon-button,.pd-icon-action,.pd-unit .pd-dispatch-icon-button{min-width:44px;width:44px;height:44px}
.pd-sort-heading{min-height:36px}
.nav-button{min-height:44px}
.checkbox-field{min-height:32px}
.pd-status-button{min-height:38px}
.toolbar input,.toolbar select{min-height:40px}}

/* Evidence contents: content-sized sections, compact complete-image previews. */
.pd-evidence-detail{display:grid;gap:18px;min-width:0}
.pd-evidence-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px;align-items:start}
.pd-evidence-meta:empty{display:none}
.pd-evidence-meta .panel-head{padding:9px 12px;min-height:38px}
.pd-evidence-meta .panel-body{padding:10px 12px;font-size:12px;overflow-wrap:anywhere}
.pd-evidence-meta .panel-head h2{font-size:13px}
.pd-evidence-content>h2{margin-bottom:12px}
.pd-evidence-groups{display:grid;gap:22px;min-width:0}
.pd-evidence-category{min-width:0}
.pd-evidence-category-head{display:flex;align-items:center;gap:10px;border-bottom:2px solid #526069;padding:0 0 7px;margin-bottom:10px}
.pd-evidence-category-head h3{font-size:13px;letter-spacing:.1px}
.pd-evidence-item-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;min-width:0}
.pd-evidence-item-grid>.pd-evidence-item,.pd-evidence-item-grid>.pd-evidence-item:last-child{flex:0 1 auto;inline-size:max-content;max-inline-size:min(100%,520px);min-inline-size:min(100%,250px);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 14px;background:var(--section-wash);display:grid;gap:7px}
.pd-evidence-item-grid>.pd-evidence-item+.pd-evidence-item{border-inline-start:1px solid var(--line)}
.pd-evidence-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.pd-evidence-item-head h3{min-width:0;padding-block:5px;overflow-wrap:anywhere;font-size:12px}
.pd-evidence-item-head .actions{flex-shrink:0;gap:2px}
.pd-evidence-find{display:flex;flex-wrap:wrap;gap:3px 12px}
.pd-evidence-find span{min-width:0;overflow-wrap:anywhere}
.pd-evidence-role{color:var(--text)}
.pd-evidence-note-text,.pd-evidence-note p{overflow-wrap:anywhere;line-height:1.5}
.pd-evidence-note summary,.pd-evidence-records>summary{cursor:pointer;font-size:12px;color:var(--muted);padding-block:5px}
.pd-evidence-note p{margin-top:6px}
.pd-evidence-item .pd-evidence-photos{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.pd-evidence-photos .pd-evidence-photo,.pd-evidence-photos .pd-evidence-photo.small{width:112px;max-width:100%;flex:0 0 auto;border-color:#4b5760;border-radius:4px;background:#14191d}
.pd-evidence-photo .pd-evidence-preview,.pd-evidence-photo.small .pd-evidence-preview{height:72px;object-fit:contain;background:#101417}
.pd-evidence-photo .pd-photo-caption{font-size:9px;padding:4px 5px;gap:4px}
.pd-evidence-photo .pd-photo-fallback{min-height:72px;padding:10px 5px;font-size:10px}
.pd-evidence-photo:hover{border-color:var(--blue)}
.pd-evidence-author{padding-top:6px;border-top:1px solid var(--line2);overflow-wrap:anywhere}
.pd-evidence-records{border-top:1px solid var(--line);padding-top:8px}
.pd-evidence-records>summary{font-weight:600;color:var(--text)}
.pd-evidence-records>summary span{margin-left:8px;font-weight:400}
.pd-evidence-capture-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px 20px;padding-top:12px}
.pd-evidence-capture-grid>div{border-left:2px solid var(--line);padding-left:10px;min-width:0;overflow-wrap:anywhere}
.pd-evidence-capture-grid .mt8{margin-top:3px}
@media(pointer:coarse){.pd-evidence-note summary,.pd-evidence-records>summary{min-height:44px;align-content:center}.pd-evidence-item-head h3{padding-top:11px}}

.pd-evidence-photo [hidden]{display:none}


/* Shared content surfaces: no enclosing card frames; headings and rules establish hierarchy. */
.panel,.stat,.group-card,.training-card,.announcement,.pd-profile-disclosure,.pd-bundle,.pd-question-edit{
  background:var(--section-wash);border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;
}
.panel-head{background:transparent;border-color:var(--line2)}
.panel .panel{background:transparent;border:0}
.panel-footer,.announcement-footer,.group-card .group-meta{border-color:var(--line2)}
.note-card,.part-row,.pd-profile-training,.pd-case-choice,.exam-answer{
  background:var(--section-wash);border:0;border-bottom:1px solid var(--line2);border-radius:0;box-shadow:none;
}
.note-card:last-child{border-bottom:0}
.pd-profile-training{border-bottom:1px solid var(--line2)}
.pd-profile-disclosure[open]>summary{border-bottom:1px solid var(--line2)}
.pd-package-editor .pd-bundle{border-bottom:1px solid var(--line2)}
.quick-link{background:var(--section-wash);border:0;border-bottom:1px solid var(--line);border-radius:0}
.quick-link:hover{background:var(--row-hover)}
.pd-case-chip{background:var(--section-wash);border:0;border-bottom:1px solid var(--line);border-radius:0}
.section-note{background:var(--section-wash);border:0;border-inline-start:2px solid #6b829b;border-radius:0}
.section-note.amber{background:linear-gradient(110deg,transparent,#edc4770c);border-inline-start-color:var(--amber)}
.section-note.red{background:linear-gradient(110deg,transparent,#f4a1a50c);border-inline-start-color:var(--red)}
.card-grid{display:flex;flex-wrap:wrap;gap:16px 14px;align-items:flex-start}
.card-grid>*{flex:0 1 360px;min-width:0;max-width:100%;border-inline-end:1px solid var(--line2)}
.stats{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.stats>.stat{flex:0 1 220px;min-inline-size:min(100%,180px);border-inline-end:1px solid var(--line);text-align:left}
.pd-evidence-photos .pd-evidence-photo,.pd-evidence-photos .pd-evidence-photo.small{border:0;border-radius:0;background:transparent}
.pd-evidence-photo .pd-photo-caption{background:var(--section-wash)}
.pd-evidence-photo:hover .pd-photo-caption{color:#d5e8ff;background:var(--surface3)}
.pd-dispatch-column{background:transparent;border:0;border-top:2px solid var(--unit-color);border-radius:0;padding:12px}
.pd-unit{background:var(--section-wash);border:0;border-left:2px solid var(--unit-color);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.pd-unit-overdue{border-left-color:#ee7d91;border-bottom-color:#ee7d91;box-shadow:inset 0 0 0 1px #ee7d9166}
.pd-duty-person{background:var(--section-wash);border:0;border-bottom:1px solid var(--line2);border-radius:0}
.pd-dispatch-roster{background:var(--section-wash)}
.pd-dispatch-drop-active{outline:3px solid var(--blue);background:#27528c22!important}
.notification-row.unread{background:var(--section-wash);border-inline-start:2px solid var(--blue)}
.pd-question-edit{padding:12px 0}
.table-wrap{border:0;border-radius:0}
@media(max-width:600px){.stats>.stat{flex-basis:calc((100% - 12px)/2);min-inline-size:0}.card-grid>*{flex-basis:100%;border-inline-end:0}.pd-evidence-item-grid>.pd-evidence-item+.pd-evidence-item{border-inline-start:0}}
.pd-evidence-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}
.pd-evidence-meta>.panel{flex:0 1 auto;inline-size:max-content;max-inline-size:min(100%,600px);min-inline-size:min(100%,280px)}

/* Only failed or conflicting saves need a recovery notice for regular employees. */
.pd-save-alert{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:min(700px,calc(100% - 28px));z-index:200;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:12px 16px;background:#252a30;border-inline-start:3px solid var(--amber);box-shadow:0 5px 20px #0008;font-size:12px}
.pd-save-alert>span{flex:1 1 280px;overflow-wrap:anywhere}
.pd-save-alert .actions{flex-wrap:wrap}

/* Documents use readable text widths and the same flat sections as the portal. */
.pd-document-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:14px;font-size:11px;color:var(--muted)}
.pd-document-tools{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:12px 0}
.pd-document-tools select{width:auto;max-width:100%}.pd-document-tools label{display:flex;align-items:center;gap:7px;font-size:12px}
.pd-document-page{display:block;width:auto;height:auto;max-width:100%;max-height:78vh;object-fit:contain;object-position:top left}
.pd-document-reader{max-width:1100px}.pd-document-reader figure{margin:20px 0}.pd-document-reader figure img{display:block;width:100%;height:auto}.pd-document-reader figcaption{font-size:12px;color:var(--muted);margin-top:6px}
.pd-document-text{max-width:900px;overflow-wrap:anywhere;line-height:1.75}.pd-document-text p,.pd-document-text ul,.pd-document-text ol,.pd-document-text table{margin-block:12px}.pd-document-text h1,.pd-document-text h2,.pd-document-text h3{margin-block:24px 10px}.pd-document-text table{width:100%;border-collapse:collapse}.pd-document-text td,.pd-document-text th{border:1px solid var(--line);text-align:left}
.pd-template-use{max-width:1000px}.pd-template-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;margin:18px 0;line-height:1.7}
.pd-template-field-row{display:grid;grid-template-columns:140px minmax(120px,1fr) minmax(130px,1fr) auto auto auto;gap:7px;align-items:center;padding-bottom:9px;border-bottom:1px solid var(--line)}
@media(max-width:760px){.pd-template-field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-document-page{max-height:none}.pd-document-tools select{max-width:100%}}

/* Evidence procedures: short independent facts, plain item rows and mobile-safe forms. */
.pd-evidence-rights{width:fit-content;max-width:100%;min-width:min(100%,320px);padding:14px 16px;margin:0;background:linear-gradient(105deg,transparent,rgba(140,151,167,.065));border-block:1px solid var(--line);border-radius:0}
.pd-evidence-rights.compact{margin-top:14px}#pd-evidence-search-fields{grid-column:1/-1;min-width:0}.pd-evidence-rights h3{font-size:15px}.pd-evidence-rights-facts{display:flex;flex-wrap:wrap;gap:14px 36px;margin:14px 0 0}.pd-evidence-rights-facts dt{font-size:12px;color:var(--muted);margin-bottom:5px}.pd-evidence-rights-facts dd{margin:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.pd-evidence-seized-table{width:auto;max-width:100%;margin:10px 0;font-size:13px}.pd-evidence-seized-table th,.pd-evidence-seized-table td{padding:8px 10px;white-space:normal;overflow-wrap:anywhere}.pd-evidence-seized-table .badge{white-space:normal}
.pd-evidence-seized-row{display:grid;grid-template-columns:minmax(125px,1fr) minmax(130px,1.25fr) minmax(130px,1fr) auto;align-items:end;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.pd-evidence-seized-row .field{margin:0;min-width:0}.pd-evidence-seized-row .icon-button{margin-bottom:3px}
.pd-evidence-witness-row{display:flex;align-items:flex-start;gap:10px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.pd-evidence-person-fields{flex:1;min-width:0}.pd-evidence-witness-row>.icon-button{margin-top:23px}#pd-evidence-rights-people>.btn{margin-top:12px}
@media(max-width:640px){.pd-evidence-seized-row{grid-template-columns:minmax(0,1fr) auto}.pd-evidence-seized-row>.field{grid-column:1}.pd-evidence-seized-row>.icon-button{grid-column:2;grid-row:1/4;align-self:center}.pd-evidence-rights{padding:12px 8px}}

/* A central command chain branches into compact department rows. */
.pd-organization{max-width:1240px}.pd-org-chain{width:min(100%,510px);margin:0 auto 24px}.pd-org-command{position:relative;padding:13px 18px;margin-bottom:17px;background:linear-gradient(105deg,transparent,#8b98a012);border-bottom:1px solid var(--line)}.pd-org-command:not(:first-child):before{content:"";position:absolute;left:50%;top:-17px;height:17px;border-left:1px solid #6f8091}.pd-org-command h2{font-size:14px}.pd-org-person{display:flex;align-items:center;gap:7px;padding:7px 0;min-width:0}.pd-org-person>.text-button{min-width:0;flex:1;text-align:left}.pd-org-person strong{font-size:13px;overflow-wrap:anywhere}.pd-org-person small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.pd-org-person .icon-button{flex-shrink:0;width:30px;min-height:30px}.pd-org-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 56px;position:relative;align-items:start}.pd-org-branches:before{content:"";position:absolute;left:50%;top:-24px;bottom:0;border-left:1px solid #6f8091}.pd-org-division{position:relative;min-width:0;padding:13px 16px;background:linear-gradient(110deg,transparent,#8b98a00c);border-top:2px solid var(--org-color)}.pd-org-division:before{content:"";position:absolute;right:-29px;top:18px;width:28px;border-top:1px solid #6f8091}.pd-org-division:after{content:"";position:absolute;right:-1px;top:15px;border-left:5px solid #6f8091;border-block:3px solid transparent;transform:rotate(180deg)}.pd-org-division:nth-child(even):before{right:auto;left:-28px}.pd-org-division:nth-child(even):after{right:auto;left:-1px;transform:none}.pd-org-division-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.pd-org-division-head h2{font-size:15px;color:var(--org-color)}.pd-org-division-head p{color:var(--muted);margin-top:4px}.pd-org-units{display:grid;gap:14px;margin-top:12px}.pd-org-unit{min-width:0;border-top:1px solid var(--line);padding-top:12px}.pd-org-unit>header h3{font-size:14px;border-left:3px solid var(--org-color);padding-left:9px}.pd-org-role{margin-top:10px}.pd-org-role h4{font-size:11px;color:var(--muted);font-weight:500}.pd-org-role .pd-org-person+.pd-org-person{border-top:1px solid var(--line)}.pd-org-add{display:flex;align-items:center;gap:7px;margin-top:9px;padding:7px 0;background:none;border:0;color:var(--blue);font-size:12px}.pd-org-add:hover{text-decoration:underline}.pd-org-add svg{width:16px;height:16px}
@media(max-width:850px){.pd-org-chain{margin-left:0}.pd-org-branches{grid-template-columns:1fr;gap:20px;padding-left:20px}.pd-org-branches:before{left:0}.pd-org-division:before,.pd-org-division:nth-child(even):before{left:-20px;right:auto;width:20px}.pd-org-division:after,.pd-org-division:nth-child(even):after{left:-1px;right:auto;transform:none}.pd-org-division{padding:12px 8px}.pd-org-chain .pd-org-person{flex-wrap:wrap}}

@media(max-width:850px){.pd-org-chain{padding-left:20px;position:relative;width:100%}.pd-org-chain:before{content:"";position:absolute;left:0;top:0;bottom:-24px;border-left:1px solid #6f8091}.pd-org-command:not(:first-child):before{display:none}.pd-org-command:after{content:"";position:absolute;left:-20px;top:20px;width:20px;border-top:1px solid #6f8091}}

/* The calendar uses thin separators and short entries, with a list as mobile default. */
.pd-calendar-toolbar{justify-content:space-between;gap:12px;flex-wrap:wrap}.pd-calendar-toolbar h2{font-size:18px;min-width:155px;text-align:center}.pd-calendar-toolbar .tabs-pills{margin:0}.pd-calendar-scroll{overflow-x:auto}.pd-calendar-month{min-width:700px;max-width:1480px}.pd-calendar-weekdays,.pd-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.pd-calendar-weekdays span{font-size:12px;color:var(--muted);padding:8px}.pd-calendar-day{min-height:125px;min-width:0;padding:8px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:linear-gradient(110deg,transparent,#8b98a008)}.pd-calendar-day:nth-child(7n){border-right:0}.pd-calendar-day>header{display:flex;align-items:center;justify-content:space-between;min-height:28px;margin-bottom:5px}.pd-calendar-day time{font-size:12px;color:var(--muted)}.pd-calendar-day.today time{background:var(--blue);color:#102037;border-radius:50%;padding:5px;font-weight:700}.pd-calendar-day.other-month{background:transparent;opacity:.6}.pd-calendar-day .icon-button{width:25px;min-height:25px}.pd-calendar-event{display:flex;align-items:flex-start;gap:6px;width:100%;text-align:left;border:0;border-left:2px solid var(--blue);border-radius:0;background:#79acdc0a;padding:6px 7px;margin:4px 0;color:var(--text);font:inherit;min-width:0}.pd-calendar-event.training{border-left-color:#b8a7db}.pd-calendar-event>span{font-size:11px;color:var(--muted);flex-shrink:0;line-height:1.5}.pd-calendar-event strong{font-size:12px;line-height:1.5;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pd-calendar-event:hover{background:#79acdc20}.pd-calendar-list{max-width:1050px}.pd-calendar-list article{display:grid;grid-template-columns:150px minmax(190px,1fr) minmax(100px,200px);align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.pd-calendar-list time{font-size:12px;color:var(--muted)}.pd-calendar-facts{display:flex;gap:16px 30px;flex-wrap:wrap}.pd-calendar-facts dt{font-size:12px;color:var(--muted);margin-bottom:5px}.pd-calendar-facts dd{margin:0;font-size:14px}.pd-calendar-audiences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.pd-calendar-audiences[hidden]{display:none}
@media(max-width:650px){.pd-calendar-toolbar h2{min-width:135px;font-size:16px}.pd-calendar-list article{grid-template-columns:minmax(0,1fr);gap:3px}.pd-calendar-list .pd-calendar-event{margin:3px 0}.pd-calendar-audiences{grid-template-columns:1fr}}

/* Dashboard: announcements lead, concise counts sit beside them. */
.pd-dashboard-layout{grid-template-columns:minmax(0,1fr) minmax(300px,440px);align-items:start}.pd-dashboard-layout>aside .stats{display:grid;order:-1;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px;margin:0;width:100%;max-width:none}.pd-dashboard-layout>aside .stat{padding:12px 13px;min-width:0;min-inline-size:0}.pd-dashboard-layout>aside .stat-number{font-size:25px}.pd-dashboard-layout>aside .stat-top{font-size:11px;line-height:1.5}.pd-dashboard-layout>aside .stat-bottom{font-size:10px}
#pd-required-announcement[hidden]{display:none}.pd-required-scrim{position:fixed;inset:0;z-index:1200;background:#04090fd6;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.pd-required-dialog{width:min(860px,100%);max-height:90dvh;display:flex;flex-direction:column;background:#1b2024;border:1px solid #566677;border-top:3px solid var(--blue);border-radius:8px;box-shadow:0 20px 80px #0008}.pd-required-dialog>header{padding:23px 28px;border-bottom:1px solid var(--line)}.pd-required-dialog h2{font-size:24px;line-height:1.4;margin:8px 0;overflow-wrap:anywhere}.pd-required-body{padding:25px 28px;overflow-y:auto;line-height:1.85;font-size:16px;overflow-wrap:anywhere}.pd-required-dialog>footer{padding:18px 28px;border-top:1px solid var(--line)}#pd-required-error{color:#f29eae;font-size:13px;line-height:1.5;margin-bottom:10px}#pd-required-error:empty{display:none}.pd-required-dialog button{min-height:42px}
@media(max-width:900px){.pd-dashboard-layout{grid-template-columns:minmax(0,1fr)}.pd-dashboard-layout>aside .stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}
@media(max-width:600px){.pd-required-scrim{padding:10px}.pd-required-dialog{max-height:95dvh}.pd-required-dialog>header,.pd-required-body,.pd-required-dialog>footer{padding:17px}.pd-required-dialog h2{font-size:20px}.pd-required-body{font-size:14px}.pd-required-dialog>footer button{width:100%}}

/* Lawbook: readable on phones, one flat text surface instead of nested cards. */
.pd-law-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.pd-law-tools .search-input{width:min(100%,460px)}
.pd-law-pagination{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0 20px}.pd-law-pagination select{width:auto;min-width:72px}
.pd-law-reading{max-width:900px;padding:20px clamp(12px,3vw,32px);border-top:1px solid var(--line);background:linear-gradient(110deg,transparent,rgba(150,158,170,.035))}.pd-law-reading h2{font-size:16px;margin-bottom:24px}.pd-law-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;font-size:14px;font-family:inherit}

.pd-law-back{transform:rotate(180deg)}

/* Connected work surface: depth belongs to controls, separators to content. */
body { color: var(--text); }
.main, .pd-access-shell { width: 100%; }
.pd-access-shell { max-width: 1240px; margin-inline: auto; padding: 24px; }
.pd-access-shell > header { gap: var(--space-4); flex-wrap: wrap; margin-bottom: var(--space-4); }
.pd-access-shell > header h1 { font-size: 25px; line-height: 1.3; }
.pd-access-shell > p + p { margin-top: var(--space-3); }
.pd-access-shell [role="alert"] { padding: 12px 16px; margin-block: 16px; border-inline-start: 2px solid var(--red); background: var(--section-wash); color: var(--red); }
.pd-bundle > summary, details.panel > summary { padding-block: 12px; cursor: pointer; }
.header { background: linear-gradient(100deg, var(--bg), #1d2126); border-color: var(--line2); }
.topbar { max-width: 1680px; margin-inline: auto; }
.main-nav { background: transparent; border-color: var(--line2); }
.nav-button, .worktab, .tabs-pills button, .pd-ann-tabs button {
  transition: background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);
}
.nav-button:hover, .nav-button.active, .worktab.active { background: var(--section-wash); }
.worktab.active { border-bottom-color: var(--blue); }
.worktab:hover, .tabs-pills button:hover, .pd-ann-tabs button:hover { background: #ffffff07; color: var(--text); }
.pd-access-note { background: var(--surface); color: var(--muted); border-color: var(--line2); }
.pd-agency-draft, .pd-agencies-facts > div {
  background: var(--section-wash); border: 0; border-bottom: 1px solid var(--line);
  border-radius: 0; box-shadow: none;
}
.pd-agency-draft { padding: var(--space-5); margin-block: var(--space-5); }
.pd-agencies-facts { gap: var(--space-3); }
.pd-agency-draft > .between { gap: var(--space-3); flex-wrap: wrap; }
.pd-sync { background: var(--surface); }
.breadcrumbs { line-height: 1.7; overflow-wrap: anywhere; }
.pagehead { align-items: flex-start; }
.pagehead h1 { line-height: 1.3; overflow-wrap: anywhere; }
.stack, .dash-grid, .detail-grid, .pd-profile-layout { gap: var(--space-5); }
.panel, .stat, .announcement, .training-card, .group-card, .pd-bundle,
.pd-profile-disclosure, .pd-question-edit { min-width: 0; }
.panel-head { gap: var(--space-3); flex-wrap: wrap; border-image: linear-gradient(90deg, transparent, var(--line2)) 1; }
.panel-head h2 { font-weight: 650; letter-spacing: .1px; line-height: 1.5; }
.panel-body { min-width: 0; }
.panel-head + .panel-body { padding-top: var(--space-4); }
.panel .panel + .panel { margin-top: var(--space-4); }
.panel .panel > .panel-head { border-image: none; }
.info-item { min-width: 0; }
.info-item div, .note-card p, .announcement p, .timeline-row > div { overflow-wrap: anywhere; }
.info-item label { display: block; margin-bottom: var(--space-1); letter-spacing: .3px; }
.announcement { padding: var(--space-5); }
.announcement + .announcement { margin-top: var(--space-3); }
.announcement .title { font-size: 15px; line-height: 1.5; }
.pd-dashboard-layout > aside .stats { grid-template-columns: minmax(0, 1fr); gap: 0; }
.pd-dashboard-layout > aside .stat {
  display: grid; grid-template-columns: 24px 34px minmax(0, 1fr); gap: 3px 10px;
  align-items: center; min-height: 76px; padding: 12px 16px;
  border-inline-end: 0; border-bottom: 1px solid var(--line2);
}
.pd-dashboard-layout > aside .stat-top { display: contents; }
.pd-dashboard-layout > aside .stat-top > span { grid-column: 2 / -1; grid-row: 1; color: var(--muted); }
.pd-dashboard-layout > aside .stat-top > svg { grid-column: 1; grid-row: 1 / 3; color: var(--blue); width: 19px; height: 19px; }
.pd-dashboard-layout > aside .stat-number { grid-column: 2; grid-row: 2; margin: 0; font-size: 23px; line-height: 1.2; }
.pd-dashboard-layout > aside .stat-bottom { grid-column: 3; grid-row: 2; margin: 0; line-height: 1.5; }
.announcement-foot, .announcement-footer { gap: var(--space-3); flex-wrap: wrap; }
.timeline-row + .timeline-row { border-top: 1px solid var(--line2); }
.timeline-icon, .group-symbol { background: var(--surface2); color: var(--muted); }
.quick-link, .note-card, .part-row, .pd-duty-person, .pd-case-choice, .notification-row {
  transition: background var(--motion-fast), border-color var(--motion-fast);
}
.quick-link:hover, .pd-case-choice:hover, .notification-row:hover { background: var(--row-hover); }
.search-input input { background: var(--input); }
.search-result, .evidence-link { background: var(--section-wash); border-color: var(--line2); border-radius: 0; }
.search-result:hover { background: var(--row-hover); }
.notification-row .n-icon, .datebox { background: var(--surface2); color: var(--blue); }
.calculator-frame { background: var(--bg); border-color: var(--line2); }
.pd-user-dropdown button:focus-visible { background: var(--surface3); }

/* Raised, neutral controls; semantic accents stay limited to edges and text. */
.btn, .icon-button, .pd-icon-action, .pd-status-button, .pd-calculator .iconbtn {
  background: var(--control-wash);
  border: 1px solid var(--control-line);
  border-radius: var(--radius);
  color: var(--text);
  box-shadow: var(--control-shadow);
  transition: transform var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast),
    background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);
}
.btn.primary { background: var(--control-wash); border-color: #7595b3; color: #e7f2ff; }
.btn.danger, .icon-button.danger, .pd-icon-action.danger, .pd-calculator .iconbtn {
  color: var(--red); border-color: #86555c; background: linear-gradient(180deg, #3b3035, #2c252a);
}
.btn.amber, .btn.warning { color: var(--amber); border-color: #8c754d; }
.btn:disabled, .icon-button:disabled, .pd-icon-action:disabled, .pd-status-button:disabled,
.btn[aria-disabled="true"] {
  background: var(--surface2); border-color: var(--line); color: var(--muted);
  opacity: .5; box-shadow: none; transform: none; cursor: not-allowed; filter: none;
}
@media (hover: hover) {
  .btn:not(:disabled):not([aria-disabled="true"]):hover,
  .icon-button:not(:disabled):hover, .pd-icon-action:not(:disabled):hover,
  .pd-status-button:not(:disabled):hover, .pd-calculator .iconbtn:not(:disabled):hover {
    background: var(--control-hover); border-color: #85919b;
    box-shadow: var(--control-shadow-hover); transform: translateY(-1px); filter: none;
  }
  .btn.primary:not(:disabled):hover { border-color: var(--blue); }
  .btn.danger:not(:disabled):hover, .icon-button.danger:not(:disabled):hover,
  .pd-calculator .iconbtn:not(:disabled):hover { border-color: var(--red); background: linear-gradient(180deg, #49353d, #382a31); }
}
.btn:not(:disabled):active, .icon-button:not(:disabled):active, .pd-icon-action:not(:disabled):active,
.pd-status-button:not(:disabled):active, .pd-calculator .iconbtn:active {
  transform: translateY(0); background: var(--control-active); box-shadow: inset 0 1px 3px #0005;
}
:where(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--blue); outline-offset: 3px;
}
.btn:focus-visible, .icon-button:focus-visible, .pd-icon-action:focus-visible { box-shadow: var(--control-shadow), var(--focus-ring); }

/* Compact data with a stable reading rhythm and local horizontal scrolling. */
.table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
table { font-variant-numeric: tabular-nums; }
thead th { background: #22272c; color: #c1cad2; font-weight: 650; border-bottom-color: var(--line); }
tbody td { border-bottom-color: var(--line2); vertical-align: middle; }
tbody tr { transition: background var(--motion-fast); }
tbody tr:nth-child(even) { background: #ffffff03; }
tbody tr.clickable:hover, tbody tr.clickable:focus-within { background: #ffffff09; }
.pd-sort-heading { color: inherit; }
input, select, textarea { max-width: 100%; box-shadow: inset 0 1px 2px #0003; transition: border-color var(--motion-fast), box-shadow var(--motion-fast); }
input:not([type="checkbox"]):not([type="radio"]):hover, select:hover, textarea:hover { border-color: #77818b; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: var(--focus-ring); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--blue); box-shadow: none; }
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--red); }
.field { min-width: 0; }
.field > label { line-height: 1.6; }
.form-grid { align-items: start; }
.pd-right-category + .pd-right-category { margin-top: var(--space-3); }
.permission-row + .permission-row { border-top: 1px solid var(--line2); }
.pd-status-button { font-variant-numeric: tabular-nums; }
.pd-unit-overdue { background: linear-gradient(100deg, transparent, #f4a1a50a); }

/* Menus, dialogs and notices are the few deliberately elevated surfaces. */
.nav-menu, .pd-user-dropdown, .pd-filter-popover, .pd-dispatch-popover, .pd-lead-options,
.notification-drawer { background: var(--surface2); border-color: var(--control-line); box-shadow: var(--overlay-shadow); }
.nav-menu button, .pd-user-dropdown button { color: var(--muted); }
.nav-menu button:hover, .pd-user-dropdown button:hover, .pd-lead-option:hover { background: #ffffff09; color: var(--text); }
.modal-scrim, .pd-required-scrim { background: #090b0dbd; }
.modal, .pd-required-dialog { background: var(--surface); border-color: var(--control-line); box-shadow: var(--overlay-shadow); }
.modal-head, .modal-actions { background: transparent; }
.modal-content { min-width: 0; overflow-wrap: anywhere; }
.pd-login { background: var(--bg); }
.pd-login-card { background: var(--section-wash); border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.pd-login-mark { background: var(--control-wash); border-color: var(--control-line); color: var(--blue); box-shadow: var(--control-shadow); }
.pd-login-submit { background: var(--control-wash); }
.toast { background: var(--surface2); border-color: var(--line); border-inline-start: 3px solid var(--green); box-shadow: var(--overlay-shadow); }
.toast.error { border-inline-start-color: var(--red); }

@keyframes pd-surface-enter {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .nav-item.open .nav-menu, .pd-user-menu[open] .pd-user-dropdown, .pd-filter-menu[open] .pd-filter-popover,
  .modal, .pd-required-dialog, .notification-drawer, .toast,
  .pd-profile-disclosure[open] > :not(summary), .pd-profile-training[open] > :not(summary) {
    animation: pd-surface-enter var(--motion-normal) var(--motion-ease) both;
  }
}

/* The separate calculator follows the same surface and control hierarchy. */
.pd-calculator { background: var(--bg); }
.pd-calculator .wrap { max-width: 1400px; padding: 24px; }
.pd-calculator h1 { font-size: 25px; }
.pd-calculator .card, .pd-calculator .card:hover,
.pd-calculator .offense, .pd-calculator .offense:hover,
.pd-calculator .manualbox, .pd-calculator .bailbox, .pd-calculator .hint-details {
  background: var(--section-wash); border: 0; border-bottom: 1px solid var(--line);
  border-radius: 0; box-shadow: none;
}
.pd-calculator .card { min-width: 0; padding: 16px; }
.pd-calculator .card h2 { border-color: var(--line2); font-size: 15px; }
.pd-calculator .results { background: var(--surface2); border-color: var(--control-line); box-shadow: var(--overlay-shadow); }
.pd-calculator .result { border-color: var(--line2); }
.pd-calculator .result:hover { background: var(--row-hover); }
.pd-calculator .toggle label { background: var(--control-wash); border-color: var(--control-line); border-radius: var(--radius); box-shadow: var(--control-shadow); }
.pd-calculator .toggle input:checked + label { background: var(--surface3); border-color: var(--blue); box-shadow: inset 0 -2px var(--blue); }
.pd-calculator .toggle input:focus-visible + label { outline: 2px solid var(--blue); outline-offset: 3px; }
.pd-calculator .final { background: var(--section-wash); border: 0; border-inline-start: 2px solid var(--blue); border-radius: 0; }
.pd-calculator .sumrow { border-color: var(--line2); }
.pd-calculator .offense .name { overflow-wrap: anywhere; }
.pd-calculator .footer { padding-inline: 0; color: var(--faint); }

@media (max-width: 900px) {
  .pd-dashboard-layout, .dash-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 820px) {
  .pd-access-shell { padding: 20px 14px; }
  .pagehead { flex-wrap: wrap; }
  .toolbar { flex-wrap: wrap; }
  .toolbar .search-input { min-width: 0; width: 100%; }
  .nav-menu { box-shadow: none; }
  .pd-user-dropdown { max-width: calc(100vw - 28px); }
  .pd-dispatch-popover, .pd-lead-options { max-width: calc(100vw - 28px); }
}
@media (max-width: 600px) {
  .main { padding: 20px 14px 28px; }
  .topbar { padding-inline: 14px; }
  .top-actions { gap: 4px; }
  .main-nav { background: var(--surface); top: 64px; }
  .nav-menu { background: #ffffff04; }
  .nav-button { width: 100%; text-align: left; }
  .panel-head, .panel-body, .pd-profile-layout .panel-head, .pd-profile-layout .panel-body { padding-inline: 12px; }
  .announcement { padding: 16px 12px; }
  .announcement-foot .actions, .announcement-footer .actions { flex-wrap: wrap; }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .form-grid .span2, .form-grid .span3 { grid-column: 1; }
  .toolbar > .btn { flex-shrink: 0; }
  .table-footer { gap: 10px; }
  .modal { max-width: 100%; max-height: calc(100dvh - 20px); }
  .modal-head, .modal-content, .modal-actions { padding: 14px 12px; }
  .modal-actions { flex-wrap: wrap; }
  .notification-drawer { top: 72px; right: 10px; max-height: calc(100dvh - 90px); }
  .pd-profile-disclosure > summary { flex-wrap: wrap; }
  .pd-calculator .wrap { padding: 20px 14px; }
  .pd-calculator .card { padding-inline: 12px; }
  .pd-calculator .actions { flex-wrap: wrap; }
  .pd-calculator .actions .btn { flex: 1 1 120px; }
}
@media (pointer: coarse) {
  .btn, .btn.slim, .icon-button, .pd-icon-action, .pd-staff-profile .btn,
  .pd-unit .pd-dispatch-icon-button, .pd-dispatch-icon-button, .pd-status-button,
  .nav-button, .worktab, .tabs-pills button, .pd-ann-tabs button,
  .pd-user-dropdown button, .nav-menu button, .pd-calculator .iconbtn { min-height: 44px; }
  .pd-dispatch-icon-button, .pd-calculator .iconbtn { min-width: 44px; }
  .text-button, summary { touch-action: manipulation; }
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size: 16px; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .btn:hover, .icon-button:hover, .pd-icon-action:hover, .pd-status-button:hover,
  .pd-calculator .iconbtn:hover { transform: none; }
}

/* Notice channels remain compact and share the existing flat article list. */
.pd-personnel-file { min-width: 0; }
.pd-personnel-shortcut { display: flex; justify-content: flex-end; margin-bottom: 16px; }
.pd-personnel-file .btn, #modal-form:has(.pd-personnel-file) .btn {
  background: linear-gradient(90deg, var(--bg), #293138); border: 0; border-radius: 2px;
  box-shadow: none; min-height: 36px;
  transition: transform var(--motion-fast), box-shadow var(--motion-fast);
}
.pd-personnel-file .btn:not(:disabled):not([aria-disabled="true"]):hover, #modal-form:has(.pd-personnel-file) .btn:not(:disabled):hover {
  background: linear-gradient(90deg, var(--bg), #374149); transform: translateY(-1px); box-shadow: 0 3px 7px #0002;
}
.pd-personnel-file .btn:disabled { opacity: .45; transform: none; box-shadow: none; }
.pd-personnel-file .btn:not(:disabled):active, #modal-form:has(.pd-personnel-file) .btn:not(:disabled):active { background: linear-gradient(90deg,var(--bg),#232a30); transform: none; box-shadow: none; }
.pd-file-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding-block: 12px 20px; border-bottom: 1px solid var(--line2); }
.pd-file-activity { display: flex; flex-wrap: wrap; gap: 20px 32px; padding-block: 18px; border-bottom: 1px solid var(--line2); }
.pd-file-activity > div { min-width: 130px; max-width: 100%; }
.pd-file-activity dt { font-size: 12px; color: var(--muted); }
.pd-file-activity dd { margin: 8px 0 0; font-size: 26px; font-variant-numeric: tabular-nums; }
.pd-file-activity dd.small { font-size: 13px; }
.pd-file-measure { margin-top: 12px; border-bottom: 1px solid var(--line2); background: var(--section-wash); }
.pd-file-measure > summary { display: flex; flex-wrap: wrap; gap: 10px 16px; padding: 14px; cursor: pointer; }
.pd-file-measure > summary strong { flex: 1 1 220px; overflow-wrap: anywhere; }
.pd-file-measure-body { padding: 4px 14px 18px; overflow-wrap: anywhere; }
.pd-file-events { padding-left: 20px; margin-top: 12px; }
.pd-file-events li { margin-bottom: 14px; }
.pd-sanction-list { display: grid; gap: 20px; }
.pd-sanction-entry { padding: 18px; background: var(--section-wash); border-bottom: 1px solid var(--line2); }
.pd-sanction-entry > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.pd-sanction-entry h2 { font-size: 16px; overflow-wrap: anywhere; }
@media(max-width:600px) { .pd-file-summary { grid-template-columns: minmax(0,1fr); }.pd-file-activity { gap: 20px; }.pd-sanction-entry { padding: 14px; }.pd-personnel-file .actions { flex-wrap: wrap; } }
@media(pointer:coarse) { .pd-personnel-file .btn, #modal-form:has(.pd-personnel-file) .btn, .pd-file-measure summary { min-height: 44px; } }
@media(prefers-reduced-motion:reduce) { .pd-personnel-file .btn:hover, #modal-form:has(.pd-personnel-file) .btn:hover { transform: none; } }
.pd-ann-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}.pd-ann-tabs button{font:inherit;font-weight:600;color:var(--muted);padding:7px 9px;border:0;border-bottom:2px solid transparent;background:transparent;cursor:pointer}.pd-ann-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.pd-ann-tabs button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.pd-ann-unit-options{display:flex;gap:12px;flex-wrap:wrap}.pd-ann-unit-options .checkbox-field{margin:0}

/* Readable audit entries and compact personal sound controls. */
.pd-audit-filters { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0; align-items: end; }
.pd-audit-filters label { display: grid; gap: 6px; font-size: 12px; color: var(--muted); flex: 1 1 160px; min-width: 0; }
.pd-audit-filters input, .pd-audit-filters select { width: 100%; min-width: 0; }
.pd-audit-entry { padding: 18px 14px; border-bottom: 1px solid var(--line2); background: var(--section-wash); overflow-wrap: anywhere; }
.pd-audit-entry header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pd-audit-entry summary { cursor: pointer; color: var(--muted); }
.pd-audit-entry td { min-width: 120px; max-width: 460px; overflow-wrap: anywhere; }
.pd-sound-settings { max-width: 520px; }
.pd-sound-settings input[type=range] { width: 100%; }
@media (pointer: coarse) { .pd-audit-filters input, .pd-audit-filters select, .pd-sound-settings input[type=range] { min-height: 44px; } }

/* UI package I: a continuous workspace with fixed context and readable density. */
:root { --workspace-gap: 26px; --workspace-text: 14px; }
body { font-size: var(--workspace-text); }
.main-nav { gap: 12px; }
.main-nav > .nav-item > .nav-button { font-size: 15px; padding: 14px 18px; }
.main-nav .nav-menu .nav-button { font-size: 14px; }
.desc, .small, .btn, td, .text-button { font-size: 14px; }
.tiny, th, .breadcrumbs { font-size: 12px; }
.pd-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.pagehead.pd-overview-head { min-height: 0; margin-bottom: 22px; gap: 16px; }
.pd-overview-head .desc { margin: 0; color: var(--muted); }
.pd-workspace-context { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px 24px; padding: 12px 28px; border-bottom: 1px solid var(--line2); min-width: 0; }
.pd-context-nav { display: flex; align-items: center; flex: 1 1 auto; flex-wrap: wrap; gap: 4px 18px; min-width: 0; }
.pd-context-link { display: inline-flex; align-items: center; gap: 7px; font: inherit; font-size: 14px; color: var(--muted); background: transparent; border: 0; border-bottom: 2px solid transparent; padding: 9px 0; text-decoration: none; cursor: pointer; }
.pd-context-link:hover, .pd-context-link.active { color: var(--text); border-bottom-color: var(--blue); }
.pd-context-link:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.pd-workspace-clock { font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
.pd-server-context { padding: 0 0 14px; margin-bottom: 22px; }
.pd-dashboard { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.4fr); gap: var(--workspace-gap); align-items: start; }
.pd-dashboard-overview, .pd-dashboard-announcements { min-width: 0; }
.pd-dashboard-section { padding: 18px 0; border-bottom: 1px solid var(--line2); background: var(--section-wash); }
.pd-dashboard-section > header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; padding-inline: 12px; }
.pd-dashboard-section h2 { font-size: 15px; }
.pd-dashboard-section > p { padding-inline: 12px; }
.pd-dashboard-summary, .pd-dashboard-row { display: flex; align-items: center; gap: 14px; width: 100%; min-width: 0; padding: 16px 12px; font: inherit; text-align: left; color: var(--text); border: 0; border-bottom: 1px solid var(--line2); border-radius: 0; box-shadow: none; background: var(--section-wash); overflow-wrap: anywhere; }
button.pd-dashboard-summary, button.pd-dashboard-row { cursor: pointer; transition: background-color var(--motion-fast), color var(--motion-fast); }
button.pd-dashboard-summary:hover, button.pd-dashboard-row:hover { background-color: rgba(255,255,255,.035); }
button.pd-dashboard-summary:focus-visible, button.pd-dashboard-row:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.pd-summary-icon { color: var(--blue); }
.pd-summary-value { font-size: 24px; font-variant-numeric: tabular-nums; }
.pd-summary-description { display: block; margin-top: 5px; font-size: 13px; color: var(--muted); line-height: 1.5; }
.pd-dashboard-row > svg, .pd-dashboard-summary > svg { flex-shrink: 0; color: var(--muted); }
.pd-dashboard-appointment { padding: 0 12px 12px; }
.pd-dashboard-appointment .pd-calendar-event { width: 100%; min-height: 44px; padding: 12px 0; margin: 0 0 5px; background: var(--section-wash); border: 0; border-radius: 0; font-size: 14px; }
.pd-dashboard-announcements .panel { border-radius: 0; box-shadow: none; }
.pd-dashboard-announcements .announcement { padding: 20px 16px; }
.pd-evidence-groups { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); gap: 22px; align-items: start; margin-top: 18px; }
.pd-evidence-category { min-width: 0; background: var(--section-wash); border: 0; border-bottom: 1px solid var(--line2); border-radius: 0; }
.pd-evidence-category > summary { display: flex; align-items: center; gap: 10px; padding: 16px 10px; cursor: pointer; list-style: none; min-height: 52px; }
.pd-evidence-category > summary::-webkit-details-marker { display: none; }
.pd-evidence-category > summary::before { content: '›'; font-size: 22px; color: var(--muted); transform: rotate(0); transition: transform var(--motion-fast); }
.pd-evidence-category[open] > summary::before { transform: rotate(90deg); }
.pd-evidence-category > summary:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.pd-evidence-count { margin-left: auto; font-size: 13px; color: var(--muted); white-space: nowrap; }
.pd-evidence-category .pd-evidence-item-grid { display: flex; flex-direction: column; gap: 18px; padding: 0 10px 16px; }
.pd-evidence-item { min-width: 0; overflow-wrap: anywhere; padding: 18px 0 0; border: 0; border-top: 1px solid var(--line2); border-radius: 0; box-shadow: none; background: transparent; }
.pd-evidence-item-head { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 10px; }
.pd-evidence-item-head h3 { flex: 1 1 180px; font-size: 15px; line-height: 1.6; }
.pd-evidence-category-label, .pd-evidence-item-head .pd-evidence-role { font-size: inherit; color: var(--text); font-weight: 600; }
.pd-evidence-title { margin: 16px 0 12px; font-size: 15px; line-height: 1.5; }
.pd-evidence-author { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line2); line-height: 1.6; }
.pd-evidence-author span + span::before { content: '·'; padding-right: 8px; }
.pd-evidence-content > header { gap: 12px; }
@media(max-width:1000px) { .main-nav { gap: 2px; }.main-nav > .nav-item > .nav-button { padding-inline: 12px; }.pd-dashboard { grid-template-columns: minmax(260px,.9fr) minmax(0,1.2fr); gap: 20px; } }
@media(max-width:760px) { .pd-dashboard { grid-template-columns: minmax(0,1fr); }.pd-workspace-context { padding: 12px 16px; }.pd-server-context { padding-inline: 0; }.pd-context-nav { flex-basis: 100%; gap: 3px 16px; }.pd-workspace-clock { margin-left: auto; }.pd-evidence-groups { grid-template-columns: minmax(0,1fr); }.pd-context-link { min-height: 44px; }.pd-dashboard-announcements .announcement { padding-inline: 12px; } }
@media(prefers-reduced-motion:reduce) { .pd-evidence-category > summary::before, button.pd-dashboard-summary, button.pd-dashboard-row { transition: none; } }
/* Override the earlier content-sized evidence layout in every embedded folder. */
.pd-evidence-category .pd-evidence-item-grid > .pd-evidence-item,
.pd-evidence-category .pd-evidence-item-grid > .pd-evidence-item:last-child { display: block; inline-size: 100%; max-inline-size: 100%; min-inline-size: 0; padding: 18px 0 0; border: 0; border-top: 1px solid var(--line2); background: transparent; }
.topbar .global-search-btn { display: inline-flex; }
.pd-dashboard-appointment .pd-calendar-event { display: flex; flex-wrap: wrap; gap: 6px 12px; text-align: left; color: var(--text); }
.pd-dashboard-appointment .pd-calendar-event .pd-summary-description { flex-basis: 100%; }

/* Compact overview headings: date shares the header, actions share their toolbar. */
.topbar { flex-wrap: wrap; gap: 10px 20px; }
.topbar .brand, .top-actions { min-width: 0; }
.top-actions { margin-left: auto; }
.top-actions .pd-workspace-clock { flex: 0 0 auto; margin-right: 12px; white-space: nowrap; }
.pagehead.pd-overview-head { align-items: center; flex-wrap: wrap; margin-bottom: 12px; gap: 10px 16px; }
.pd-overview-head > div:first-child { min-width: 0; flex: 1 1 auto; }
.pagehead.pd-overview-head > .actions { flex: 0 1 auto; width: auto; margin-left: auto; justify-content: flex-end; }
.pd-org-tabs { margin-bottom: 12px; }
.pd-org-division-actions { flex-wrap: wrap; justify-content: flex-end; }
.pd-org-unassigned { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); }
.pd-org-unassigned h2 { font-size: 14px; margin-bottom: 8px; }
@media (max-width: 850px) { .pd-org-division-actions .icon-button { min-width: 44px; min-height: 44px; } }
.pd-dispatch-toolbar { justify-content: space-between; gap: 10px 16px; }
.pd-dispatch-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; max-width: 100%; }
.pd-dispatch-controls > .pd-lead-combobox { position: relative; min-width: 0; max-width: 100%; }
.pd-dispatch-actions { margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
.pd-dispatch-layout { margin-top: 12px; }
.pd-server-clock { float: right; margin: 0 0 8px 12px; }
@media(max-width:820px) {
  .top-actions .pd-workspace-clock { margin-right: 4px; }
  .pagehead.pd-overview-head > .actions { margin-left: 0; justify-content: flex-start; }
}
@media(max-width:600px) {
  .topbar { padding-block: 10px; }
  .top-actions { gap: 4px; max-width: 100%; }
  .top-actions .pd-workspace-clock { font-size: 12px; margin-right: 2px; }
  .pd-dispatch-actions { justify-content: flex-start; margin-left: 0; }
  .pd-server-clock { font-size: 12px; }
}
.pd-dispatch-actions .btn { min-height: 32px; padding: 7px 10px; font-size: 14px; }
@media(max-width:820px) { .header .main-nav { top: 100%; } }
.pd-overview-toolbar > .actions { margin-left: auto; flex-wrap: wrap; }
.pagehead:has(> h1.pd-visually-hidden:only-child) { min-height: 0; margin: 0; }

/* Structured law reference: one reading surface beside a compact contents tree. */
.pd-law-search-tools { margin: 12px 0 18px; }
.pd-law-search-tools .search-input { flex: 1 1 340px; max-width: 620px; }
.pd-law-search-tools input { width: 100%; }
.pd-law-workspace { display: grid; grid-template-columns: minmax(230px,300px) minmax(0,1fr); gap: 28px; align-items: start; }
.pd-law-navigation, .pd-law-main { min-width: 0; }
.pd-law-navigation > summary { display: none; }
.pd-law-navigation nav { padding-right: 18px; border-right: 1px solid var(--line2); }
.pd-law-navigation ul { list-style: none; padding: 0; margin: 12px 0; }
.pd-law-navigation li ul { padding-left: 14px; }
.pd-law-navigation summary { padding: 9px 0; cursor: pointer; font-size: 14px; }
.pd-law-navigation select { width: 100%; }
.pd-law-toc-link { display: block; width: 100%; padding: 10px 8px; border: 0; border-bottom: 1px solid var(--line2); background: transparent; color: var(--muted); text-align: left; font: inherit; cursor: pointer; overflow-wrap: anywhere; }
.pd-law-toc-link > span { display: block; font-size: 12px; margin-bottom: 3px; }
.pd-law-toc-link.active { color: var(--text); background: var(--section-wash); box-shadow: inset 2px 0 var(--blue); }
.pd-law-toc-link:hover, .pd-law-result:hover { background-color: #ffffff05; color: var(--text); }
.pd-law-toc-link:focus-visible, .pd-law-result:focus-visible, .pd-law-navigation summary:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.pd-law-article { max-width: 900px; min-width: 0; }
.pd-law-article header { display: grid; gap: 8px; padding-bottom: 14px; border-bottom: 1px solid var(--line2); }
.pd-law-article h2 { font-size: 21px; line-height: 1.5; overflow-wrap: anywhere; }
.pd-law-article-tools, .pd-law-neighbors { display: flex; flex-wrap: wrap; gap: 12px 20px; justify-content: space-between; margin: 16px 0; }
.pd-law-content { font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.pd-law-paragraph { white-space: pre-wrap; margin: 0 0 18px; }
.pd-law-paragraph-label { font-weight: 600; margin-right: 9px; }
.pd-law-indent-1 { padding-left: 18px; }.pd-law-indent-2 { padding-left: 36px; }
.pd-law-source { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 16px 0; border-top: 1px solid var(--line2); font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.pd-law-results > header { margin-bottom: 12px; }.pd-law-results h2 { font-size: 17px; }
.pd-law-result { width: 100%; display: grid; gap: 8px; padding: 16px 12px; font: inherit; color: var(--text); text-align: left; background: var(--section-wash); border: 0; border-bottom: 1px solid var(--line2); cursor: pointer; overflow-wrap: anywhere; }
.pd-law-snippet { font-size: 14px; line-height: 1.6; color: var(--muted); }
.pd-law-result-pages { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 18px; font-size: 13px; }
.pd-law-workspace mark { background: #b4a05240; color: var(--text); border-radius: 2px; }
@media(max-width:760px) {
 .pd-law-workspace { grid-template-columns: minmax(0,1fr); gap: 18px; }
 .pd-law-navigation > summary { display: block; padding: 12px 0; border-bottom: 1px solid var(--line2); font-weight: 600; }
 .pd-law-navigation nav { border-right: 0; padding: 14px 0 0; }
 .pd-law-article h2 { font-size: 19px; }.pd-law-content { font-size: 15px; }
 .pd-law-neighbors .btn { flex: 1 1 180px; }.pd-law-search-tools > select { width: 100%; }
}
@media(pointer:coarse) { .pd-law-toc-link, .pd-law-navigation summary, .pd-law-result { min-height: 44px; } }

/* C03: image queue inside the existing flat evidence form. */
.pd-image-upload{grid-column:1 / -1;border-block:1px solid var(--line,#333b40);padding-block:16px;min-width:0}
.pd-image-upload.drag-active{background:linear-gradient(90deg,transparent,rgba(160,180,195,.12));outline:2px dashed #8799aa;outline-offset:4px}
.pd-image-picker{position:relative;overflow:hidden;cursor:pointer;margin:0;min-height:44px}
.pd-image-picker input{position:absolute;width:1px;height:1px;opacity:0}
.pd-image-picker:focus-within{outline:2px solid #8ab6d9;outline-offset:3px}
.pd-image-previews{display:grid;gap:0;min-width:0}
.pd-image-preview{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line,#333b40);min-width:0}
.pd-image-preview img{width:88px;height:64px;object-fit:contain;background:#101316;flex-shrink:0}
.pd-image-preview .grow{min-width:0;overflow-wrap:anywhere}
.pd-image-preview .actions{flex-wrap:wrap;justify-content:flex-end}
.pd-image-preview progress{width:100%;max-width:180px}
@media(max-width:600px){.pd-image-preview{flex-wrap:wrap}.pd-image-preview .grow{flex:1}.pd-image-preview .actions{width:100%;justify-content:flex-start}.pd-image-preview button{min-width:44px;min-height:44px}}
