html.pn-app-root{
    --bg-body: #1a1a1a;
    --bg-surface: #242424;
    --bg-surface-alt: #2a2a2a;
    --bg-header: #1e2530;
    --bg-input: #1a1a1a;
    --bg-selected: #2b333c;
    --bg-deep: #0f141a;

    --border: #3a3a3a;
    --border-light: #444444;
    --border-focus: #355f85;

    --text-primary: #e8e8e8;
    --text-secondary: #a0a0a0;
    --text-muted: #a1a1a1;
    --text-white: #ffffff;

    --status-green: #3d9a40;
    --status-amber: #d49200;
    --status-red: #c03030;
    --status-blue: #4a88c0;

    --badge-blue-t: #9fc3e6;  --badge-blue-b: #3d5a77;
    --badge-green-t: #83cc90; --badge-green-b: #386e46;
    --badge-amber-t: #efc55e; --badge-amber-b: #6e5928;
    --badge-red-t: #ff9a9a;   --badge-red-b: #743b3b;
    --notice-green: #83b98c;
    --notice-red: #c98a8a;
    --text-amber: #d3b76a;
    --strip-lock-bg: #2f2a1b;
    --strip-lock-border: #5a4c26;
    --strip-active-bg: #203927;
    --strip-call-bg: #1d3450;
    --strip-call-border: #4a88c0;
    --strip-call-text: #cfe2f4;
    --strip-call-stripe: #44607f;
    --card-pending-bg: #2b2820;
    --bg-alarm: #37201f;
    --flag-active-bg: #3a3222;
    --deep-ink: #d8e1eb;
    --btn-danger-bg: #c03030;
    --btn-danger-hover: #d04040;
    --scheme: dark;

    --btn-bg: #2e2e2e;
    --btn-hover: #353535;
    --btn-active: #404040;
    --btn-primary-bg: #31435a;
    --btn-primary-border: #44607f;
    --btn-primary-text: #cfe2f4;
    --btn-primary-hover: #3a5270;

    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 12px;
    --space-lg: 16px;
    --space-xl: 24px;

    --header-height: 44px;
    --nav-height: 38px;
    --footer-height: 28px;
}

html.pn-app-root,
html.pn-app-root *,
html.pn-app-root::before,
html.pn-app-root *::before,
html.pn-app-root::after,
html.pn-app-root *::after{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html.pn-app-root,
body.pn-app{
    height: 100%;
    overflow: hidden;
}

body.pn-app{
    background: var(--bg-body);
    color: var(--text-primary);
    font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    display: flex;
    flex-direction: column;
}

body.pn-app .header{
    background: var(--bg-header);
    height: var(--header-height);
    display: flex;
    align-items: center;
    padding: 0 var(--space-lg);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

body.pn-app .header-brand{
    color: var(--status-blue);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.5px;
}

body.pn-app .header-nav{
    display: flex;
    align-items: center;
    margin-left: var(--space-xl);
    gap: var(--space-xs);
}

body.pn-app .header-link{
    background: transparent;
    border: none;
    color: var(--text-secondary);
    padding: var(--space-sm) var(--space-md);
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 2px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.pn-app .header-link:hover{
    color: var(--text-primary);
    background: var(--bg-surface);
}

body.pn-app .header-link.active{
    color: var(--btn-primary-text);
    background: var(--btn-primary-bg);
}

body.pn-app .header-spacer{
    flex: 1;
}

body.pn-app .header-meta{
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    font-size: 12px;
}

body.pn-app .header-meta-item{
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

body.pn-app .header-meta-label{
    color: var(--text-muted);
}

body.pn-app .header-meta-value{
    color: var(--text-primary);
    font-weight: 600;
}

body.pn-app .header-clock{
    color: var(--status-blue);
    font-weight: 700;
    font-size: 13px;
    min-width: 70px;
}

body.pn-app .toolbar{
    background: var(--bg-surface);
    height: var(--nav-height);
    display: flex;
    align-items: center;
    padding: 0 var(--space-md);
    gap: var(--space-md);
    border-bottom: 2px solid var(--border);
    flex-shrink: 0;
}

body.pn-app .toolbar-group{
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

body.pn-app .toolbar-select{
    background: var(--bg-input);
    border: 1px solid var(--border);
    color: var(--text-primary);
    padding: 6px 10px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    min-width: 110px;
    cursor: pointer;
}

body.pn-app .toolbar-select:focus{
    border-color: var(--border-focus);
    outline: none;
}

body.pn-app .toolbar-btn{
    background: var(--btn-bg);
    border: 1px solid var(--border);
    color: var(--text-secondary);
    min-height: 30px;
    padding: 6px 12px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

body.pn-app .toolbar-btn:hover:not(:disabled){
    background: var(--btn-hover);
    color: var(--text-primary);
}

body.pn-app .toolbar-btn:disabled{
    opacity: 0.4;
    cursor: not-allowed;
}

body.pn-app .toolbar-btn.active{
    background: var(--btn-primary-bg);
    border-color: var(--btn-primary-border);
    color: var(--btn-primary-text);
}

body.pn-app .toolbar-btn.danger{
    background: var(--status-red);
    border-color: var(--status-red);
    color: var(--text-white);
}

body.pn-app .toolbar-status{
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    background: var(--bg-body);
    border: 1px solid var(--border);
    padding: 6px var(--space-md);
}

body.pn-app .toolbar-spacer{
    flex: 1;
}

body.pn-app .led{
    width: 8px;
    height: 8px;
    border-radius: 1px;
    background: var(--text-muted);
}

body.pn-app .led-green{
    background: var(--status-green);
}

body.pn-app .led-amber{
    background: var(--status-amber);
}

body.pn-app .led-red{
    background: var(--status-red);
}

body.pn-app .led-blue{
    background: var(--status-blue);
}

body.pn-app .main{
    flex: 1;
    display: flex;
    overflow: hidden;
}

body.pn-app .panel{
    background: var(--bg-surface);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

body.pn-app .panel-header{
    background: var(--bg-body);
    padding: var(--space-sm) var(--space-md);
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

body.pn-app .panel-title{
    font-size: 11px;
    font-weight: 700;
    color: var(--text-secondary);
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

body.pn-app .panel-count{
    font-size: 11px;
    color: var(--text-muted);
}

body.pn-app .panel-actions{
    margin-left: auto;
    display: flex;
    gap: var(--space-xs);
}

body.pn-app .panel-body{
    flex: 1;
    overflow-y: auto;
    padding: var(--space-sm);
}

body.pn-app .info-grid{
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: var(--space-xs) var(--space-sm);
    font-size: 12px;
    margin-bottom: var(--space-md);
}

body.pn-app .info-label{
    color: var(--text-muted);
    font-weight: 600;
}

body.pn-app .info-value{
    color: var(--text-primary);
}

body.pn-app .log-section{
    border-top: 1px solid var(--border);
    padding-top: var(--space-md);
    margin-top: var(--space-md);
}

body.pn-app .log-list{
    max-height: 160px;
    overflow-y: auto;
    margin-bottom: var(--space-sm);
}

body.pn-app .log-entry{
    display: flex;
    gap: var(--space-sm);
    padding: var(--space-xs) 0;
    border-bottom: 1px solid var(--bg-body);
    font-size: 11px;
}

body.pn-app .log-time{
    color: var(--text-muted);
    min-width: 40px;
}

body.pn-app .log-user{
    color: var(--status-blue);
    font-weight: 600;
    min-width: 50px;
}

body.pn-app .log-text{
    color: var(--text-secondary);
}

body.pn-app .input-row{
    display: flex;
    gap: var(--space-xs);
}

body.pn-app .input-row input{
    flex: 1;
    background: var(--bg-input);
    border: 1px solid var(--border);
    color: var(--text-primary);
    padding: var(--space-sm);
    font-family: inherit;
    font-size: 11px;
}

body.pn-app .input-row input:focus{
    border-color: var(--border-focus);
    outline: none;
}

body.pn-app .input-row button{
    background: var(--btn-primary-bg);
    border: 1px solid var(--btn-primary-border);
    color: var(--btn-primary-text);
    padding: var(--space-sm) var(--space-md);
    font-family: inherit;
    font-size: 10px;
    font-weight: 600;
    border-radius: 3px;
    cursor: pointer;
}

body.pn-app .footer{
    background: var(--bg-body);
    height: var(--footer-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--space-lg);
    border-top: 1px solid var(--border);
    font-size: 10px;
    color: var(--text-muted);
    flex-shrink: 0;
}

body.pn-app .modal{
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

body.pn-app .modal.open{
    display: flex;
}

body.pn-app .modal-box{
    background: var(--bg-surface);
    border: 1px solid var(--border-light);
    width: 480px;
    max-width: 95%;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}

body.pn-app .modal-header{
    background: var(--bg-body);
    padding: var(--space-md) var(--space-lg);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    border-bottom: 1px solid var(--border);
}

body.pn-app .modal-title{
    font-size: 12px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: 0.5px;
}

body.pn-app .modal-close{
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 16px;
    cursor: pointer;
    padding: 2px 6px;
    margin-right: -6px;
    min-height: 24px;
    line-height: 1;
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.pn-app .modal-close:hover{
    color: var(--status-red);
}

body.pn-app .modal-body{
    padding: var(--space-lg);
    overflow-y: auto;
}

body.pn-app .modal-footer{
    padding: var(--space-md) var(--space-lg);
    display: flex;
    gap: var(--space-sm);
    border-top: 1px solid var(--border);
}

body.pn-app .modal-box>form{
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

body.pn-app .form-group{
    margin-bottom: var(--space-md);
}

body.pn-app .form-label{
    display: block;
    font-size: 10px;
    font-weight: 700;
    color: var(--text-muted);
    margin-bottom: var(--space-xs);
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

body.pn-app .form-input{
    width: 100%;
    background: var(--bg-input);
    border: 1px solid var(--border);
    color: var(--text-primary);
    padding: var(--space-sm) var(--space-md);
    font-family: inherit;
    font-size: 12px;
}

body.pn-app .form-input:focus{
    border-color: var(--border-focus);
    outline: none;
}

body.pn-app .form-input::placeholder{
    color: var(--text-muted);
}

body.pn-app .form-row{
    display: flex;
    gap: var(--space-md);
}

body.pn-app .form-row .form-group{
    flex: 1;
}

body.pn-app .btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: auto;
    min-height: 30px;
    padding: 6px 10px;
    background: var(--btn-bg);
    border: 1px solid var(--border);
    color: var(--text-secondary);
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.1;
    white-space: nowrap;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

body.pn-app .btn:hover{
    background: var(--btn-hover);
    color: var(--text-primary);
    border-color: var(--border-light);
}

body.pn-app .btn-primary{
    background: var(--btn-primary-bg);
    border-color: var(--btn-primary-border);
    color: var(--btn-primary-text);
}

body.pn-app .btn-primary:hover{
    background: var(--btn-primary-hover);
    color: var(--text-white);
}

body.pn-app .btn-secondary{
    background: var(--btn-bg);
    border: 1px solid var(--border);
    color: var(--text-secondary);
}

body.pn-app .btn-secondary:hover{
    background: var(--btn-hover);
    color: var(--text-primary);
}

body.pn-app .btn-danger{
    background: var(--btn-danger-bg);
    border-color: var(--btn-danger-bg);
    color: var(--text-white);
}

body.pn-app .btn-danger:hover{
    background: var(--btn-danger-hover);
}

body.pn-app .btn-success{
    background: var(--btn-bg);
    border: 1px solid var(--border);
    color: var(--text-secondary);
}

body.pn-app .btn-success:hover{
    color: var(--text-primary);
}

body.pn-app .btn-sm{
    min-height: 24px;
    padding: 4px 8px;
    font-size: 10px;
}

body.pn-app .btn:disabled{
    opacity: .45;
    cursor: default;
}

body.pn-app .btn-new{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--btn-bg);
    border: 1px solid var(--border);
    color: var(--text-secondary);
    min-height: 24px;
    padding: 4px 8px;
    font-family: inherit;
    font-size: 10px;
    font-weight: 600;
    cursor: pointer;
}

body.pn-app .table{
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

body.pn-app .table th{
    text-align: left;
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-body);
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 700;
    border-bottom: 1px solid var(--border);
    text-transform: uppercase;
}

body.pn-app .table td{
    padding: var(--space-sm) var(--space-md);
    border-bottom: 1px solid var(--bg-body);
    color: var(--text-primary);
}

body.pn-app .table tr:hover{
    background: var(--bg-surface-alt);
}

body.pn-app .text-green{
    color: var(--status-green);
}

body.pn-app .text-amber{
    color: var(--status-amber);
}

body.pn-app .text-red{
    color: var(--status-red);
}

body.pn-app .text-blue{
    color: var(--status-blue);
}

body.pn-app .text-muted{
    color: var(--text-muted);
}

body.pn-app .text-bold{
    font-weight: 700;
}

body.pn-app .empty-state{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-xl);
    color: var(--text-muted);
    text-align: center;
}

body.pn-app .empty-title{
    font-size: 14px;
    font-weight: 600;
    margin-bottom: var(--space-xs);
}

body.pn-app .empty-text{
    font-size: 11px;
}

body.pn-app ::-webkit-scrollbar{
    width: 6px;
}

body.pn-app ::-webkit-scrollbar-track{
    background: var(--bg-body);
}

body.pn-app ::-webkit-scrollbar-thumb{
    background: var(--border);
}

body.pn-app ::-webkit-scrollbar-thumb:hover{
    background: var(--border-light);
}

body.pn-app .alert{
    padding: var(--space-sm) var(--space-md);
    font-weight: 600;
    font-size: 11px;
    text-align: center;
    margin-bottom: var(--space-md);
    background: var(--bg-body);
    border: 1px solid var(--border);
}

body.pn-app .alert-danger{
    border-left: 3px solid var(--status-red);
    color: var(--badge-red-t);
}

body.pn-app .alert-warning{
    border-left: 3px solid var(--status-amber);
    color: var(--badge-amber-t);
}

body.pn-app .alert-info{
    border-left: 3px solid var(--status-blue);
    color: var(--badge-blue-t);
}

body.pn-app .alert-success{
    border-left: 3px solid var(--status-green);
    color: var(--notice-green);
}

body.pn-app .auth-container{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-xl);
}

body.pn-app .auth-box{
    background: var(--bg-surface);
    border: 1px solid var(--border);
    padding: var(--space-xl);
    width: 400px;
    max-width: 100%;
}

body.pn-app .auth-title{
    font-size: 18px;
    font-weight: 700;
    color: var(--status-blue);
    margin-bottom: var(--space-xl);
    text-align: center;
}

body.pn-app .auth-subtitle{
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: var(--space-lg);
    text-align: center;
}

body.pn-app .role-grid{
    display: grid;
    gap: var(--space-md);
}

body.pn-app .role-btn{
    background: var(--bg-surface-alt);
    border: 2px solid var(--border);
    padding: var(--space-lg);
    text-align: center;
    cursor: pointer;
    transition: all 0.15s;
}

body.pn-app .role-btn:hover{
    border-color: var(--status-blue);
    background: var(--bg-selected);
}

body.pn-app .role-btn.disabled{
    opacity: 0.4;
    cursor: not-allowed;
}

body.pn-app .role-title{
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: var(--space-xs);
}

body.pn-app .role-desc{
    font-size: 11px;
    color: var(--text-secondary);
}

body.pn-app .section-header{
    font-size: 10px;
    font-weight: 700;
    color: var(--status-amber);
    letter-spacing: 0.5px;
    margin-bottom: var(--space-sm);
    padding-bottom: var(--space-xs);
    border-bottom: 1px solid var(--border);
}


html.pn-app-root{
    --cad-gap: 8px;
}

body.pn-app.v5-page{ overflow: hidden; }

body.pn-app .v5-shell{ flex: 1; min-height: 0; display: flex; flex-direction: column; }
body.pn-app .v5-content{ flex: 1; min-height: 0; overflow: auto; padding: 10px; width: 100%; }
body.pn-app .v5-grid{ display: grid; gap: var(--cad-gap); min-height: 0; }
body.pn-app .v5-grid-3{ grid-template-columns: minmax(280px, 0.95fr) minmax(360px, 1.4fr) minmax(260px, 0.8fr); }
body.pn-app .v5-grid-2{ grid-template-columns: minmax(360px, 1fr) minmax(360px, 1fr); }
body.pn-app .v5-panel{ background: var(--bg-surface); border: 1px solid var(--border); min-height: 0; display: flex; flex-direction: column; }
body.pn-app .v5-panel-title{ background: var(--bg-body); border-bottom: 1px solid var(--border); padding: 9px 12px; display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; color: var(--text-secondary); text-transform: uppercase; letter-spacing: .45px; }
body.pn-app .v5-panel-body{ padding: 8px; overflow: auto; min-height: 0; }
body.pn-app .v5-muted{ color: var(--text-muted); }
body.pn-app .v5-small{ font-size: 11px; }
body.pn-app .v5-actions{ display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
body.pn-app .v5-actions .btn{ width: auto; }
body.pn-app .v5-row{ display: flex; gap: 8px; align-items: center; }
body.pn-app .v5-row > *{ min-width: 0; }
body.pn-app .v5-spacer{ flex: 1; }
body.pn-app .v5-badge{ display: inline-flex; align-items: center; padding: 2px 6px; border: 1px solid var(--border); background: var(--bg-body); color: var(--text-secondary); font-size: 10px; font-weight: 700; }
body.pn-app .v5-badge.blue{ color: var(--badge-blue-t); border-color: var(--badge-blue-b); }
body.pn-app .v5-badge.green{ color: var(--badge-green-t); border-color: var(--badge-green-b); }
body.pn-app .v5-badge.amber{ color: var(--badge-amber-t); border-color: var(--badge-amber-b); }
body.pn-app .v5-badge.red{ color: var(--badge-red-t); border-color: var(--badge-red-b); }
body.pn-app .v5-alert{ padding: 8px 10px; border: 1px solid var(--border); background: var(--bg-body); margin-bottom: 8px; }
body.pn-app .v5-alert.info{ border-left: 3px solid var(--status-blue); }
body.pn-app .v5-alert.warn{ border-left: 3px solid var(--status-amber); }
body.pn-app .v5-alert.danger{ border-left: 3px solid var(--status-red); }
body.pn-app .v5-alert.success{ border-left: 3px solid var(--status-green); }

body.pn-app .portal-wrap{ flex: 1; display: flex; align-items: center; justify-content: center; padding: 24px; overflow: auto; }
body.pn-app .portal-box{ width: min(920px, 100%); }
body.pn-app .portal-heading{ font-size: 20px; font-weight: 700; color: var(--text-primary); margin-bottom: 4px; }
body.pn-app .portal-subheading{ color: var(--text-secondary); margin-bottom: 16px; }
body.pn-app .portal-community{ display: flex; align-items: center; gap: 8px; background: var(--bg-surface); border: 1px solid var(--border); padding: 10px; margin-bottom: 10px; }
body.pn-app .portal-cards{ display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); grid-auto-rows: 1fr; gap: 8px; }
body.pn-app .portal-card{ appearance: none; display: block; width: 100%; min-height: 135px; text-align: left; background: var(--bg-surface); color: var(--text-primary); border: 1px solid var(--border); border-top: 3px solid var(--status-blue); padding: 14px; cursor: pointer; text-decoration: none; }
body.pn-app .portal-card:hover{ background: var(--bg-surface-alt); border-color: var(--border-light); }
body.pn-app .portal-card.disabled{ opacity: .42; cursor: not-allowed; pointer-events: none; }
body.pn-app .portal-card h2{ font-size: 14px; margin-bottom: 8px; color: var(--text-primary); }
body.pn-app .portal-card p{ font-size: 11px; color: var(--text-secondary); line-height: 1.55; }
body.pn-app .portal-card .portal-role{ display: block; margin-top: 14px; color: var(--status-blue); font-size: 10px; font-weight: 700; }

body.pn-app .cad-call{ background: var(--bg-surface-alt); border: 1px solid var(--border); border-left: 4px solid var(--text-muted); padding: 8px 9px; margin-bottom: 7px; cursor: pointer; }
body.pn-app .cad-call:hover,
body.pn-app .cad-call.selected{ background: var(--bg-selected); border-color: var(--border-focus); }
body.pn-app .cad-call.p0{ border-left-color: var(--status-red); background: var(--bg-alarm); }
body.pn-app .cad-call.p1{ border-left-color: var(--status-red); }
body.pn-app .cad-call.p2{ border-left-color: var(--status-amber); }
body.pn-app .cad-call.p3{ border-left-color: var(--status-green); }
body.pn-app .cad-call.p4{ border-left-color: var(--text-muted); }
body.pn-app .cad-call-head{ display: flex; align-items: center; gap: 6px; margin-bottom: 5px; }
body.pn-app .cad-call-type{ font-weight: 700; font-size: 12px; color: var(--text-primary); }
body.pn-app .cad-call-location{ font-size: 11px; color: var(--text-secondary); }
body.pn-app .cad-call-meta{ display: flex; justify-content: space-between; gap: 8px; margin-top: 5px; font-size: 10px; color: var(--text-muted); }

body.pn-app .unit-list-row{ display: grid; grid-template-columns: 62px minmax(0, 1fr) 66px 38px 84px; gap: 3px 8px; align-items: center; padding: 7px 8px; border-bottom: 1px solid var(--border); font-size: 12px; }
body.pn-app .unit-list-row:last-child{ border-bottom: 0; }
body.pn-app .unit-list-row.me{ background: var(--bg-selected); }
body.pn-app .unit-list-row .status{ font-weight: 700; }
body.pn-app .status.available{ color: var(--status-green); }
body.pn-app .status.busy{ color: var(--status-amber); }
body.pn-app .status.off{ color: var(--text-muted); }

body.pn-app .detail-grid{ display: grid; grid-template-columns: 100px 1fr; gap: 5px 9px; font-size: 12px; }
body.pn-app .detail-grid dt{ color: var(--text-muted); font-weight: 600; }
body.pn-app .detail-grid dd{ color: var(--text-primary); }
body.pn-app .notes{ margin-top: 10px; border-top: 1px solid var(--border); padding-top: 8px; }
body.pn-app .note{ display: grid; grid-template-columns: 60px 75px 1fr; gap: 6px; padding: 5px 0; border-bottom: 1px solid var(--bg-body); font-size: 10px; }

body.pn-app .v5-table{ width: 100%; border-collapse: collapse; font-size: 11px; }
body.pn-app .v5-table th{ text-align: left; padding: 7px; background: var(--bg-body); color: var(--text-muted); border-bottom: 1px solid var(--border); font-size: 10px; text-transform: uppercase; }
body.pn-app .v5-table td{ padding: 7px; border-bottom: 1px solid var(--border); vertical-align: middle; }
body.pn-app .v5-table tr:hover td{ background: var(--bg-surface-alt); }
body.pn-app .v5-table .actions{ white-space: nowrap; text-align: right; }

body.pn-app .back-tabs{ display: flex; gap: 4px; margin-bottom: 8px; flex-wrap: wrap; }
body.pn-app .back-tabs a{ background: var(--btn-bg); border: 1px solid var(--border); color: var(--text-secondary); padding: 7px 10px; text-decoration: none; font-size: 11px; font-weight: 600; }
body.pn-app .back-tabs a.active{ color: var(--btn-primary-text); background: var(--btn-primary-bg); border-color: var(--btn-primary-border); }

body.pn-app .dispatch-lock{ background: var(--strip-lock-bg); border-bottom: 1px solid var(--strip-lock-border); color: var(--text-amber); font-size: 11px; font-weight: 600; }
body.pn-app .dispatch-lock.is-empty{ display: none; }
body.pn-app .dispatch-active{ background: var(--strip-active-bg); border-bottom: 1px solid var(--badge-green-b); color: var(--badge-green-t); padding: 7px 10px; font-size: 11px; font-weight: 600; }


body.pn-app .compact-form{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 8px; }
body.pn-app .compact-form > *{ min-width: 0; }
body.pn-app .compact-form .span-12{ grid-column: span 12; }
body.pn-app .compact-form .span-8{ grid-column: span 8; }
body.pn-app .compact-form .span-6{ grid-column: span 6; }
body.pn-app .compact-form .span-4{ grid-column: span 4; }
body.pn-app .compact-form .span-3{ grid-column: span 3; }
body.pn-app .compact-form .span-2{ grid-column: span 2; }
body.pn-app .compact-form label{ display: block; font-size: 10px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; font-weight: 700; }
body.pn-app .compact-form label.check-label{ display: flex; align-items: center; gap: 6px; min-height: 30px; margin-bottom: 0; }
body.pn-app .compact-form input,
body.pn-app .compact-form select,
body.pn-app .compact-form textarea{ width: 100%; background: var(--bg-input); border: 1px solid var(--border); color: var(--text-primary); padding: 7px 8px; font: inherit; }
body.pn-app .compact-form textarea{ min-height: 72px; resize: vertical; }
body.pn-app .compact-form input:focus,
body.pn-app .compact-form select:focus,
body.pn-app .compact-form textarea:focus{ outline: none; border-color: var(--border-focus); }

@media (max-width: 1050px) {
    body.pn-app .v5-grid-3{ grid-template-columns: 1fr; }
    body.pn-app .portal-cards{ grid-template-columns: repeat(2, minmax(180px, 1fr)); }
    body.pn-app.v5-page,
html.pn-app-root{ overflow: auto; }
    body.pn-app .v5-content{ overflow: visible; }
}

@media (max-width: 620px) {
    body.pn-app .portal-cards{ grid-template-columns: 1fr; }
    body.pn-app .v5-grid-2{ grid-template-columns: 1fr; }
    body.pn-app .compact-form .span-8,
body.pn-app .compact-form .span-6,
body.pn-app .compact-form .span-4,
body.pn-app .compact-form .span-3{ grid-column: span 12; }
}

body.pn-app .v5-table .actions .btn{ vertical-align: middle; }
body.pn-app .v5-table .actions > .v5-actions{ justify-content: flex-end; }

body.pn-app .connection-flow{
    display: grid;
    grid-template-columns: minmax(130px,1fr) auto minmax(150px,1fr) auto minmax(150px,1fr) auto minmax(140px,1fr);
    gap: 8px;
    align-items: center;
    padding: 10px;
    margin-bottom: 10px;
    background: var(--bg-body);
    border: 1px solid var(--border);
}
body.pn-app .connection-flow > div{ min-width: 0; }
body.pn-app .connection-flow strong{ display: block; color: var(--text-primary); font-size: 11px; margin-bottom: 2px; }
body.pn-app .connection-flow span{ display: block; color: var(--text-muted); font-size: 10px; line-height: 1.35; }
body.pn-app .connection-flow b{ color: var(--text-muted); font-weight: 400; }
body.pn-app .integration-intro{ line-height: 1.5; }
body.pn-app .setup-defaults-form{ padding: 8px 0 12px; border-bottom: 1px solid var(--border); margin-bottom: 10px; }
body.pn-app .integration-form{ margin-top: 2px; }
body.pn-app .setting-toggle{
    padding: 9px;
    background: var(--bg-body);
    border: 1px solid var(--border);
}
body.pn-app .setting-toggle label{ color: var(--text-primary); text-transform: none; font-size: 11px; display: flex; align-items: center; gap: 7px; }
body.pn-app .setting-toggle p{ margin-top: 5px; color: var(--text-muted); font-size: 10px; line-height: 1.4; }
body.pn-app .field-help{ margin-top: 5px; color: var(--text-muted); font-size: 10px; line-height: 1.45; text-transform: none; }
body.pn-app .field-help strong{ color: var(--text-secondary); }
body.pn-app .field-help code{ color: var(--badge-blue-t); background: var(--bg-body); border: 1px solid var(--border); padding: 1px 4px; }
body.pn-app .integration-tests{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border); }
body.pn-app .integration-tests form{ display: grid; grid-template-columns: auto minmax(160px,1fr); gap: 8px; align-items: center; padding: 7px; background: var(--bg-body); border: 1px solid var(--border); }
body.pn-app .integration-tests p{ color: var(--text-muted); font-size: 10px; line-height: 1.35; }
body.pn-app .backend-help{ margin-top: 10px; background: var(--bg-body); border: 1px solid var(--border); }
body.pn-app .backend-help summary{ cursor: pointer; padding: 9px 10px; color: var(--text-secondary); font-size: 11px; font-weight: 700; }
body.pn-app .backend-help-grid{ display: grid; grid-template-columns: repeat(2,minmax(220px,1fr)); gap: 8px; padding: 0 10px 10px; }
body.pn-app .backend-help-grid > div{ border: 1px solid var(--border); background: var(--bg-surface); padding: 8px; }
body.pn-app .backend-help-grid strong{ color: var(--text-primary); font-size: 11px; }
body.pn-app .backend-help-grid p{ color: var(--text-muted); font-size: 10px; line-height: 1.45; margin-top: 4px; }

body.pn-app .department-layout,
body.pn-app .code-layout{ grid-template-columns: 1fr; }
body.pn-app .add-department-panel,
body.pn-app .generate-code-panel{ max-width: 760px; }
body.pn-app .table-scroll{ width: 100%; overflow-x: auto; }
body.pn-app .editable-table{ min-width: 980px; }
body.pn-app .table-input{
    width: 100%;
    min-width: 80px;
    padding: 6px 7px;
    background: var(--bg-input);
    border: 1px solid var(--border);
    color: var(--text-primary);
    font: inherit;
    font-size: 11px;
}
body.pn-app .table-input:focus{ outline: none; border-color: var(--border-focus); }
body.pn-app .code-input,
body.pn-app .tag-input{ min-width: 90px; max-width: 130px; }
body.pn-app .name-input{ min-width: 190px; }
body.pn-app .order-input,
body.pn-app .uses-input{ width: 76px; min-width: 70px; }
body.pn-app .access-code-input{ min-width: 170px; }
body.pn-app .date-input{ min-width: 180px; }
body.pn-app .department-actions,
body.pn-app .code-actions{ flex-wrap: nowrap; }

body.pn-app .query-shell{ flex: 1; min-height: 0; display: flex; flex-direction: column; }
body.pn-app .query-content{ flex: 1; min-height: 0; display: grid; grid-template-columns: 320px minmax(0,1fr); overflow: hidden; }
body.pn-app .query-search{ min-height: 0; overflow-y: auto; border-right: 1px solid var(--border); background: var(--bg-surface); }
body.pn-app .query-results{ min-height: 0; overflow-y: auto; background: var(--bg-surface); }
body.pn-app .query-section{ padding: 10px; border-bottom: 1px solid var(--border); }
body.pn-app .query-section-title{ margin-bottom: 8px; color: var(--text-secondary); font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
body.pn-app .query-results-head{ position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 10px; background: var(--bg-body); border-bottom: 1px solid var(--border); }
body.pn-app .query-results-body{ padding: 10px; }
body.pn-app .query-detail-head{ padding: 12px; background: var(--bg-surface-alt); border: 1px solid var(--border); margin-bottom: 8px; }
body.pn-app .query-name{ color: var(--text-primary); font-size: 18px; font-weight: 700; margin: 5px 0 8px; }
body.pn-app .query-detail-grid{ display: grid; grid-template-columns: 90px 1fr; gap: 5px 8px; font-size: 11px; }
body.pn-app .query-detail-grid dt{ color: var(--text-muted); }
body.pn-app .query-detail-grid dd{ color: var(--text-primary); }
body.pn-app .query-empty{ min-height: 260px; display: grid; place-items: center; text-align: center; color: var(--text-muted); }
body.pn-app .query-empty strong{ display: block; color: var(--text-secondary); margin-bottom: 4px; }
body.pn-app .query-flags{ display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 5px; }
body.pn-app .query-flag{ display: inline-flex; padding: 2px 6px; border: 1px solid var(--border); background: var(--bg-body); font-size: 9px; font-weight: 700; }
body.pn-app .query-flag.danger{ color: var(--badge-red-t); border-color: var(--badge-red-b); }
body.pn-app .query-flag.warn{ color: var(--badge-amber-t); border-color: var(--badge-amber-b); }

@media (max-width: 900px) {
    body.pn-app .connection-flow{ grid-template-columns: 1fr; }
    body.pn-app .connection-flow b{ display: none; }
    body.pn-app .backend-help-grid{ grid-template-columns: 1fr; }
    body.pn-app .query-content{ grid-template-columns: 1fr; overflow: visible; }
    body.pn-app .query-search{ overflow: visible; border-right: 0; border-bottom: 1px solid var(--border); }
    body.pn-app .query-results{ overflow: visible; }
    body.pn-app .query-shell{ overflow: auto; }
}

body.pn-app .page-heading{margin-bottom:10px}body.pn-app .page-heading h1{font-size:20px;margin:0 0 2px}body.pn-app .community-switch{max-width:320px}body.pn-app .compact-panel{max-width:980px}body.pn-app .simple-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}body.pn-app .simple-flow span{border:1px solid var(--border);border-radius:4px;padding:8px 11px;font-weight:700;font-size:12px}body.pn-app .simple-flow b{opacity:.5}body.pn-app .inline-check{display:inline-flex;align-items:center;gap:6px;margin-top:8px}body.pn-app .v5-details{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}body.pn-app .v5-details summary{cursor:pointer;font-weight:700;font-size:12px}body.pn-app .wide-input{min-width:240px}body.pn-app .empty-state{padding:20px;text-align:center}body.pn-app .toolbar-label{font-size:11px;opacity:.7;margin-left:8px}body.pn-app .unit-subdivision{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.pn-app .detail-actions{margin-bottom:8px}body.pn-app .assign-area{margin-top:10px}body.pn-app .error-text{color:var(--status-red)}
@media(max-width:900px){body.pn-app .simple-flow b{display:none}}

body.pn-app .assign-area{margin-top:10px;padding:8px;border:1px solid var(--border);background:var(--bg-surface-alt)}
body.pn-app .routing-editor{margin-top:0;padding:6px 0 8px;border:0;border-bottom:1px solid var(--bg-body);background:transparent}

body.pn-app .preview-banner{padding:6px 10px;background:var(--strip-lock-bg);border-bottom:1px solid var(--strip-lock-border);color:var(--text-amber);font-size:11px;font-weight:700;text-align:center}body.pn-app .preview-banner a{color:var(--text-primary);margin-left:8px}body.pn-app .preview-exit{color:var(--badge-amber-t)!important}body.pn-app .inline-form{display:inline-flex;margin-left:8px}body.pn-app .dev-launch-grid{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));grid-auto-rows:1fr;gap:8px}body.pn-app .dev-community-select{grid-column:1/-1;display:grid;grid-template-columns:160px minmax(260px,1fr);align-items:center;gap:8px;padding:8px;background:var(--bg-body);border:1px solid var(--border)}body.pn-app .dev-community-select label{font-size:11px;font-weight:700;color:var(--text-secondary)}body.pn-app .dev-community-select select{width:100%;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);padding:8px}body.pn-app .role-launch{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:92px;padding:13px;background:var(--bg-surface-alt);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;text-align:left}body.pn-app .role-launch:hover{border-color:var(--border-focus);background:var(--bg-selected)}body.pn-app .role-launch strong{font-size:13px;color:var(--text-primary)}body.pn-app .role-launch span{font-size:11px;color:var(--text-secondary);line-height:1.45}body.pn-app .small-cell{max-width:230px;white-space:normal}body.pn-app .password-small{width:150px!important}body.pn-app .keyword-input{min-width:230px}body.pn-app .order-input{width:70px!important}body.pn-app .uses-input{width:72px!important}body.pn-app .v5-table input[type=checkbox]{width:16px;height:16px}body.pn-app .v5-table form{margin:0}
@media(max-width:850px){body.pn-app .dev-launch-grid{grid-template-columns:1fr}body.pn-app .dev-community-select{grid-template-columns:1fr}body.pn-app .password-small{width:120px!important}}


body.pn-app .large-check{display:flex!important;align-items:center;gap:10px;min-height:44px}body.pn-app .large-check input[type=checkbox],
body.pn-app .large-check input[type=radio]{flex:none}body.pn-app .large-select{min-height:42px}body.pn-app .secret-input-row{display:flex;gap:8px;align-items:center}body.pn-app .secret-input-row input{flex:1}body.pn-app .delete-key{display:flex;align-items:center;gap:8px}body.pn-app .delete-key input{width:20px;height:20px}body.pn-app .access-code-value{font-family:monospace;font-size:14px;letter-spacing:.08em}body.pn-app .full-button{width:100%}body.pn-app .inline-details{border:1px solid var(--border);padding:10px;background:var(--bg-surface-alt)}body.pn-app .platenet-footer-links{display:flex;gap:8px;align-items:center}body.pn-app .platenet-footer-links a{color:inherit;text-decoration:none}body.pn-app .platenet-footer-links a:hover{text-decoration:underline}

body.pn-app .v5-table input[type=checkbox],
body.pn-app .compact-form input[type=checkbox],
body.pn-app .compact-form input[type=radio]{width:20px;height:20px;vertical-align:middle}
body.pn-app .large-check input[type=checkbox],
body.pn-app .large-check input[type=radio]{width:22px;height:22px}


body.pn-app .community-admin-page .community-admin-content{width:min(1120px,100%);margin:0 auto;padding-bottom:24px}
body.pn-app .community-admin-page .page-heading{align-items:end}
body.pn-app .community-admin-page .community-picker{display:grid;gap:3px;min-width:230px;font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase}
body.pn-app .community-admin-page .admin-tabs{margin:4px 0 12px}
body.pn-app .community-admin-page .admin-tabs a{padding:8px 12px}
body.pn-app .community-admin-page .admin-panel{margin-bottom:12px}
body.pn-app .community-admin-page .admin-lead{margin-bottom:10px;color:var(--text-secondary);font-size:11px;line-height:1.5}
body.pn-app .community-admin-page .admin-lead-followon{margin-top:16px}
body.pn-app .community-admin-page .admin-lead b{color:var(--text-primary)}
body.pn-app .community-admin-page .panel-title-tools{display:flex;align-items:center;gap:6px;margin:-4px 0;font-size:10px;font-weight:700;color:var(--text-muted)}
body.pn-app .community-admin-page .panel-title-tools select{min-width:150px;padding:3px 6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:11px;text-transform:none;font-weight:400}
body.pn-app .community-admin-page .panel-title-tools .btn{width:auto}











body.pn-app .community-admin-page .admin-edit-toggle[aria-expanded="true"]{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-text)}

body.pn-app .field-note,
body.pn-app .community-admin-page .setting-card small{display:block;margin-top:5px;color:var(--text-muted);font-size:10px;line-height:1.45;text-transform:none}
body.pn-app .community-admin-page .form-actions{display:flex;align-items:center;gap:7px;margin-top:2px}
body.pn-app .community-admin-page .form-actions .btn{width:auto;min-width:112px}
body.pn-app .community-admin-page .admin-settings-grid{margin-bottom:4px}
body.pn-app .community-admin-page .admin-details{border:1px solid var(--border);background:var(--bg-body);padding:0}
body.pn-app .community-admin-page .admin-details>summary{cursor:pointer;padding:9px 10px;color:var(--text-secondary);font-size:11px;font-weight:700;list-style-position:inside}
body.pn-app .community-admin-page .admin-details>p,
body.pn-app .community-admin-page .details-help{margin:0;padding:0 10px 10px;color:var(--text-muted);font-size:10px;line-height:1.55}
body.pn-app .community-admin-page .admin-details>.compact-form,
body.pn-app .community-admin-page .admin-details>form{padding:0 10px 10px}
body.pn-app .community-admin-page .add-item-details{margin-top:10px}
body.pn-app .community-admin-page .codeplug-guide-details{margin-bottom:10px}
body.pn-app .community-admin-page .codeplug-guide-details>.codeplug-guide-grid{margin:0 10px 10px}
body.pn-app .community-admin-page .item-secondary-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}
body.pn-app .community-admin-page .item-secondary-actions form{margin:0}
body.pn-app .community-admin-page .item-secondary-actions .btn{width:auto}
body.pn-app .community-admin-page .code-generator{display:grid;grid-template-columns:repeat(12,1fr);align-items:end;padding:10px;border:1px solid var(--border);background:var(--bg-surface-alt)}
body.pn-app .community-admin-page .generate-button-cell{display:flex;align-items:end}
body.pn-app .community-admin-page .generate-button-cell .btn{width:100%}
body.pn-app .community-admin-page .role-help{margin:8px 0 12px}
body.pn-app .community-admin-page .role-help-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));grid-auto-rows:1fr;gap:6px;padding:0 10px 10px}
body.pn-app .community-admin-page .role-help-grid span{padding:7px;border:1px solid var(--border);color:var(--text-muted);font-size:10px;line-height:1.4}
body.pn-app .community-admin-page .role-help-grid b{color:var(--text-secondary)}
body.pn-app .community-admin-page .empty-admin-state{padding:14px;border:1px dashed var(--border);color:var(--text-muted);font-size:11px;text-align:center}
body.pn-app .community-admin-page .codeplug-guide-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);gap:10px}
body.pn-app .community-admin-page .codeplug-guide-grid>div{padding:11px;border:1px solid var(--border);background:var(--bg-surface-alt)}
body.pn-app .community-admin-page .codeplug-guide-grid h3{margin:0 0 9px;color:var(--text-primary);font-size:12px}
body.pn-app .community-admin-page .codeplug-guide-grid dl{display:grid;grid-template-columns:100px 1fr;gap:6px 9px;margin:0;font-size:10px;line-height:1.45}
body.pn-app .community-admin-page .codeplug-guide-grid dt{color:var(--text-secondary);font-weight:700}
body.pn-app .community-admin-page .codeplug-guide-grid dd{margin:0;color:var(--text-muted)}
body.pn-app .community-admin-page .codeplug-example{margin:0;padding:10px;overflow:auto;border:1px solid var(--border);background:var(--bg-deep);color:var(--deep-ink);font:11px/1.5 Consolas,Monaco,monospace;white-space:pre}






@media(max-width:850px){
  body.pn-app .community-admin-page .page-heading{align-items:flex-start;flex-direction:column}
  body.pn-app .community-admin-page .community-picker{width:100%}
  body.pn-app .community-admin-page .codeplug-guide-grid{grid-template-columns:1fr}




  body.pn-app .community-admin-page .role-help-grid{grid-template-columns:1fr}
  body.pn-app .community-admin-page .v5-panel-title{flex-wrap:wrap}
}
@media(max-width:620px){

}

body.pn-app .legal-signup-link{color:var(--status-blue)!important;text-decoration:underline}body.pn-app .legal-signup-link:visited{color:var(--status-blue)!important}
body.pn-app .modal-box-small{width:min(420px,94vw)}
body.pn-app .department-code-box{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}
body.pn-app .department-code-box .input-row{display:grid;grid-template-columns:1fr 72px;gap:7px;align-items:stretch;margin-top:7px}
body.pn-app .department-code-box .form-label{margin-bottom:0}
body.pn-app .department-code-box .input-row input{min-height:34px;font-size:12px;padding:6px 10px}
body.pn-app .department-code-box .input-row .btn,
body.pn-app .department-code-box .input-row button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px}
body.pn-app .department-code-box .v5-small{margin-top:6px;min-height:0}
body.pn-app .department-code-box .v5-small:empty{display:none}
body.pn-app .department-code-box .pair-actions{margin-top:8px;display:flex;justify-content:flex-start}
body.pn-app .department-code-box .pair-actions .btn{width:auto}
body.pn-app .cad-main-grid{height:100%;overflow:hidden}body.pn-app .cad-detail-panel{overflow:hidden}body.pn-app .cad-detail-body{overflow:hidden!important;display:flex;padding:0!important}
body.pn-app .call-detail-layout{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}
body.pn-app .call-detail-fixed{flex:0 0 auto;padding:8px;overflow:visible;border-bottom:1px solid var(--border)}
body.pn-app .call-title-line{display:flex;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}body.pn-app .call-title-line strong{color:var(--text-primary)}
body.pn-app .detail-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:9px;padding:6px 0;border-bottom:1px solid var(--bg-body);font-size:11px;line-height:1.45}body.pn-app .detail-row>strong{color:var(--text-muted);font-size:10px}body.pn-app .detail-row>span{color:var(--text-primary);min-width:0}
body.pn-app .detail-description{overflow:visible}body.pn-app .status-indicator[disabled]{opacity:1;cursor:default}body.pn-app .detail-actions{padding-bottom:7px;background:var(--bg-surface)}
body.pn-app .call-notes-box{display:flex;flex-direction:column;flex:1;min-height:150px;margin:0;padding:8px;border:0}body.pn-app .call-notes-scroll{flex:0 1 auto;min-height:0;overflow:auto;margin:6px 0}body.pn-app .call-notes-box .input-row{flex:0 0 auto}
body.pn-app .call-notes-box .input-row input{min-height:38px;font-size:12px;padding:8px 10px}
body.pn-app .call-notes-box .input-row button{min-height:38px}
body.pn-app .cad-call.current-assignment{box-shadow:none;background:var(--bg-selected)}body.pn-app .cad-call.current-assignment:not(.selected){border-color:var(--border-focus)}body.pn-app .cad-call.selected{outline:1px solid var(--border-focus);outline-offset:-2px}
body.pn-app .current-call-banner{flex:0 0 auto;display:flex;align-items:center;gap:12px;height:31px;min-height:31px;max-height:31px;padding:0 10px;overflow:hidden;background:var(--strip-call-bg);border-bottom:1px solid var(--strip-call-border);white-space:nowrap}
body.pn-app .current-call-banner[hidden]{display:none}body.pn-app .current-call-banner.is-stale{opacity:.86}
body.pn-app .current-call-banner .ccb-summary{flex:0 1 auto;min-width:60px;max-width:360px;color:var(--strip-call-text);font-size:11px;overflow:hidden;text-overflow:ellipsis}
body.pn-app .current-call-banner .ccb-seg{display:inline-flex;align-items:center;gap:6px;flex:0 1 auto;min-width:0;overflow:hidden}
body.pn-app .current-call-banner .ccb-seg>b{color:var(--badge-blue-t);font-size:9px;font-weight:700;letter-spacing:.06em;flex:0 0 auto}
body.pn-app .current-call-banner .ccb-seg>span{min-width:0;color:var(--strip-call-text);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.pn-app .current-call-banner .ccb-latest{flex:1 1 auto}
body.pn-app .current-call-banner .context-updates.has-new-update{animation:context-update-flash .7s ease-out}@keyframes context-update-flash{0%{background:var(--btn-primary-hover);box-shadow:inset 4px 0 0 var(--badge-blue-t)}100%{background:transparent;box-shadow:inset 0 0 0 transparent}}
body.pn-app .dispatch-active,
body.pn-app .dispatch-lock{height:31px;min-height:31px;max-height:31px;display:flex;align-items:center;padding:0 10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.pn-app .query-combined{flex:1;min-height:0;display:grid;grid-template-columns:330px minmax(0,1fr);overflow:hidden;max-width:1800px;margin-inline:auto;width:100%}body.pn-app .query-search-panel{min-height:0;overflow:auto;border-right:1px solid var(--border);background:var(--bg-surface)}body.pn-app .query-search-panel>.v5-alert{margin:8px}body.pn-app .query-workspace{min-height:0;display:grid;grid-template-rows:minmax(360px,1.3fr) minmax(190px,.7fr);gap:8px;padding:8px;overflow:hidden}body.pn-app .query-return-panel,
body.pn-app .query-history-panel{min-height:0;overflow:hidden}body.pn-app .query-return-body{height:100%;overflow:hidden;padding:0!important}
body.pn-app .query-record-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(285px,.65fr);height:100%;min-height:0}body.pn-app .query-record-left,
body.pn-app .query-record-tools{min-height:0;overflow:auto;padding:8px}body.pn-app .query-record-tools{border-left:1px solid var(--border);background:var(--bg-body);display:flex;flex-direction:column;gap:8px}
body.pn-app .return-action-row{position:sticky;top:-8px;z-index:3;display:flex;align-items:center;gap:7px;padding:7px 0;background:var(--bg-surface)}body.pn-app .flag-active{background:var(--flag-active-bg)!important;border-color:var(--badge-amber-b)!important;color:var(--badge-amber-t)!important}body.pn-app .return-flag-icon{color:var(--badge-amber-t);font-size:15px;line-height:1}body.pn-app .return-detail-meta{padding:8px 10px;background:var(--bg-body);border:1px solid var(--border);color:var(--text-primary);font-size:12px;font-weight:700}body.pn-app .return-detail-meta span{color:var(--text-muted);font-size:10px;font-weight:400}body.pn-app .return-payload{margin:7px 0 0;padding:11px;min-height:150px;max-height:300px;overflow:auto;white-space:pre-wrap;background:var(--bg-deep);border:1px solid var(--border);color:var(--text-white);font:11px/1.55 Consolas,Monaco,monospace}
body.pn-app .query-mini-return{display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;align-items:center;padding:8px;margin-bottom:5px;border:1px solid var(--border);background:var(--bg-surface-alt);color:inherit;text-decoration:none}body.pn-app .query-mini-return:hover{border-color:var(--badge-amber-b);background:var(--card-pending-bg)}body.pn-app .query-mini-return strong,
body.pn-app .query-mini-return small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.pn-app .query-mini-return strong{font-size:10px;color:var(--text-primary)}body.pn-app .query-mini-return small{font-size:9px;color:var(--text-muted)}
body.pn-app .query-live-section{margin-top:8px;padding:8px;border:1px solid var(--border);background:var(--bg-surface-alt)}body.pn-app .person-record-summary{display:grid;gap:3px;margin-top:8px;padding:8px;border:1px solid var(--border);background:var(--bg-body)}body.pn-app .person-record-summary>strong{font-size:14px;color:var(--text-primary)}body.pn-app .person-record-summary>span{font-size:10px;color:var(--text-muted)}
body.pn-app .query-flags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}body.pn-app .flag-removal-form{display:inline-flex;margin:0}body.pn-app .query-flag{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid var(--border);background:var(--bg-body);color:var(--text-secondary);font:700 9px/1.2 inherit;cursor:pointer}body.pn-app .query-flag.danger{color:var(--badge-red-t);border-color:var(--badge-red-b)}body.pn-app .query-flag.warn{color:var(--badge-amber-t);border-color:var(--badge-amber-b)}body.pn-app .query-flag:hover{filter:brightness(1.15)}
body.pn-app .query-bolo-summary{margin-top:5px;padding:7px;border:1px solid var(--border);border-left:3px solid var(--status-amber);background:var(--bg-body)}body.pn-app .query-bolo-summary.priority-high{border-left-color:var(--status-red)}body.pn-app .query-bolo-summary.priority-low{border-left-color:var(--status-blue)}body.pn-app .query-bolo-summary p{margin:5px 0;color:var(--text-secondary);font-size:10px;line-height:1.4}body.pn-app .query-bolo-summary small{color:var(--text-muted);font-size:9px}
body.pn-app .record-tool{display:flex;flex-direction:column;gap:5px;padding:8px;background:var(--bg-surface);border:1px solid var(--border)}body.pn-app .record-tool label{color:var(--text-muted);font-size:9px;font-weight:700}body.pn-app .record-tool input,
body.pn-app .record-tool select,
body.pn-app .record-tool textarea{width:100%;background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:6px;font:inherit}body.pn-app .record-tool textarea{min-height:58px;resize:vertical}body.pn-app .person-note-history{margin-top:8px;max-height:210px;overflow:auto;border:1px solid var(--border);background:var(--bg-surface-alt);padding:8px}
body.pn-app .query-history-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:8px;height:100%;min-height:0;overflow:hidden}body.pn-app .return-history-grid{display:grid;grid-template-columns:1fr;gap:5px;align-content:start;min-height:0;overflow:auto}body.pn-app .query-history-reserved{min-height:100%;border:1px solid var(--border);background:var(--bg-body)}body.pn-app .return-history-item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;padding:8px;border:1px solid var(--border);background:var(--bg-surface-alt);color:inherit;text-decoration:none}body.pn-app .return-history-item:hover,
body.pn-app .return-history-item.active{border-color:var(--border-focus);background:var(--bg-selected)}body.pn-app .return-history-item strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.pn-app .return-history-item small{grid-column:1/-1;color:var(--text-muted);font-size:9px}body.pn-app .return-history-item>.return-flag-icon{position:absolute;right:6px;top:5px}
body.pn-app .bolo-layout-v565{flex:1;min-height:0;display:grid;grid-template-columns:330px minmax(0,1fr);gap:8px;padding:8px;overflow:hidden;max-width:1800px;margin-inline:auto;width:100%}body.pn-app .bolo-create-panel,
body.pn-app .bolo-list-panel{min-height:0;overflow:hidden}
body.pn-app .bolo-create-scroll{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden}
body.pn-app .bolo-list-v565{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));grid-auto-rows:clamp(11.75rem,20dvh,13.5rem);gap:7px;align-content:start;align-items:stretch;overscroll-behavior:contain;scrollbar-gutter:stable}
body.pn-app .bolo-list-v565 .bolo-card-v564{margin-bottom:0;height:100%;min-height:0;align-self:stretch}
body.pn-app .bolo-list-v565 .empty-state{grid-column:1/-1}body.pn-app .bolo-person-lookup{position:relative;padding:8px;border:1px solid var(--border);background:var(--bg-body)}body.pn-app .bolo-person-results{max-height:190px;overflow:auto;margin-top:6px;border:1px solid var(--border-focus);background:var(--bg-surface)}body.pn-app .bolo-person-results button{display:grid;width:100%;gap:2px;padding:8px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}body.pn-app .bolo-person-results button:hover{background:var(--bg-surface-alt)}body.pn-app .bolo-person-results small{color:var(--text-muted);font-size:9px}body.pn-app .flagged-under-create{margin-top:10px;padding-top:9px;border-top:1px solid var(--border)}body.pn-app .flagged-subject-list{display:grid;gap:4px}body.pn-app .flagged-subject{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:5px;width:100%;padding:8px;border:1px solid var(--badge-amber-b);background:var(--card-pending-bg);color:var(--text-primary);text-align:left;cursor:pointer}body.pn-app .flagged-subject:hover{filter:brightness(1.15)}body.pn-app .flagged-subject small{display:block;color:var(--text-muted);font-size:9px}body.pn-app .bolo-card-v564{padding:8px 9px;margin-bottom:7px;border:1px solid var(--border);border-left:4px solid var(--status-amber);background:var(--bg-surface-alt)}body.pn-app .bolo-card-v564.priority-high{border-left-color:var(--status-red)}body.pn-app .bolo-card-v564.priority-low{border-left-color:var(--status-blue)}body.pn-app .bolo-card-v564:hover{background:var(--bg-selected);border-color:var(--border-focus);border-left-color:var(--status-amber)}body.pn-app .bolo-card-v564.priority-high:hover{border-left-color:var(--status-red)}body.pn-app .bolo-card-v564.priority-low:hover{border-left-color:var(--status-blue)}body.pn-app .bolo-card-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}body.pn-app .bolo-card-head>strong{color:var(--text-primary);font-size:12px}body.pn-app .bolo-card-head>small{color:var(--text-muted);font-size:9px}body.pn-app .bolo-card-v564 p{margin:8px 0;color:var(--text-secondary);font-size:11px;line-height:1.5}body.pn-app .bolo-location,
body.pn-app .bolo-person-link{padding:5px 0;color:var(--text-muted);font-size:10px}body.pn-app .bolo-footer{display:flex;align-items:center;gap:8px;padding-top:7px;border-top:1px solid var(--border);color:var(--text-muted);font-size:9px}body.pn-app .bolo-footer form{margin-left:auto}
body.pn-app .bolo-card-v564{display:flex;flex-direction:column;overflow:hidden}
body.pn-app .bolo-card-head{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:start;min-height:42px;flex:0 0 auto}
body.pn-app .bolo-card-head>strong{min-width:0;overflow-wrap:anywhere;line-height:1.3}
body.pn-app .bolo-card-head>.v5-spacer{display:none}
body.pn-app .bolo-card-head>small{grid-column:1/-1;justify-self:end;white-space:nowrap}
body.pn-app .bolo-card-scroll{flex:1 1 auto;min-block-size:0;block-size:auto;max-block-size:none;margin:4px 0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain;padding-right:3px}
body.pn-app .bolo-card-description{margin-top:0;overflow-wrap:anywhere;word-break:break-word}
body.pn-app .bolo-card-meta{overflow-wrap:anywhere}
body.pn-app .bolo-ack-row,body.pn-app .bolo-footer{flex:0 0 auto}
body.pn-app .bolo-ack-row{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}
body.pn-app .bolo-ack-row>span:not(.v5-badge){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.pn-app .bolo-ack-form{margin-left:auto;flex:0 0 auto}
body.pn-app .bolo-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;flex-wrap:nowrap}
body.pn-app .bolo-footer>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.pn-app .bolo-footer>.v5-spacer{display:none}
body.pn-app .bolo-footer-actions{display:flex;align-items:center;gap:5px;margin-left:0;flex:0 0 auto}
body.pn-app .bolo-footer-actions form{margin:0}
body.pn-app .bolo-edit-modal .modal-box{width:min(620px,95vw)}
body.pn-app .bolo-edit-modal textarea{min-height:120px;resize:vertical}
body.pn-app .bolo-create-actions{display:flex;justify-content:flex-start;min-width:0;overflow:hidden}
body.pn-app .bolo-create-actions>.btn{width:auto;max-width:100%;flex:0 0 auto}
@media(max-width:1050px){body.pn-app .cad-main-grid{height:auto;min-height:100%;overflow:visible}body.pn-app .cad-detail-body{min-height:520px}body.pn-app .current-call-banner{grid-template-columns:1fr}body.pn-app .query-record-split{grid-template-columns:1fr}body.pn-app .query-record-tools{border-left:0;border-top:1px solid var(--border)}}
@media(max-width:1000px){body.pn-app .query-combined{grid-template-columns:1fr;overflow:auto}body.pn-app .query-search-panel{overflow:visible;border-right:0;border-bottom:1px solid var(--border)}body.pn-app .query-workspace{display:block;overflow:visible}body.pn-app .query-return-panel,
body.pn-app .query-history-panel{margin-bottom:8px;min-height:420px}body.pn-app .query-history-split{grid-template-columns:1fr}body.pn-app .query-history-reserved{min-height:180px}body.pn-app .bolo-layout-v565{grid-template-columns:1fr;overflow:auto}body.pn-app .bolo-create-panel,
body.pn-app .bolo-list-panel{min-height:440px}}
body.pn-app .civilian-record-table{margin-bottom:12px}body.pn-app .civilian-record-table .actions form,
body.pn-app .inline-delete-form{display:inline-flex;margin:0}body.pn-app .char-card .inline-delete-form{margin-top:8px;margin-left:5px}body.pn-app .civ-content .form-section,
body.pn-app .civ-content .emergency-box{border:1px solid var(--border);background:var(--bg-surface-alt);box-shadow:none}body.pn-app .civ-content .form-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary)}

body.pn-app .pn-dialog-overlay{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.75)}
body.pn-app .pn-dialog-overlay.open{display:flex}
body.pn-app .pn-dialog{width:min(480px,96vw);border:1px solid var(--border);background:var(--bg-surface);box-shadow:none;border-radius:4px;overflow:hidden}
body.pn-app .pn-dialog-header{padding:10px 13px;border-bottom:1px solid var(--border);background:var(--bg-body);color:var(--text-secondary);font:700 12px/1.2 "Segoe UI",Arial,sans-serif;letter-spacing:.45px;text-transform:uppercase}
body.pn-app .pn-dialog-body{padding:16px 14px;color:var(--text-primary)}
body.pn-app .pn-dialog-message{white-space:pre-wrap;line-height:1.45}
body.pn-app .pn-dialog-input{width:100%;margin-top:12px}
body.pn-app .pn-dialog-actions{display:flex;justify-content:flex-start;gap:8px;padding:10px 14px;border-top:1px solid var(--border);background:var(--bg-body)}
body.pn-app .recovery-code,
body.pn-app .recovery-code-display{padding:16px;margin:12px 0;border:1px solid var(--border);background:var(--bg-body);color:var(--text-primary);font:700 20px/1.3 Consolas,monospace;letter-spacing:.08em;text-align:center;user-select:all}

body.pn-app[data-cad-page="dispatch"]>.dispatch-active,
body.pn-app[data-cad-page="dispatch"]>.dispatch-tabs{flex:0 0 auto}
body.pn-app[data-cad-page="dispatch"]>#cadWorkspace{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body.pn-app[data-cad-page="dispatch"]>#cadWorkspace[hidden],
body.pn-app[data-cad-page="dispatch"]>#radioWorkspace[hidden]{display:none!important}
body.pn-app[data-cad-page="dispatch"]>#cadWorkspace>.v5-shell{flex:1 1 auto;min-height:0}
body.pn-app[data-cad-page="dispatch"] #radioWorkspace{flex:1 1 0;min-height:0;height:auto;overflow:hidden;display:flex;flex-direction:column}
body.pn-app[data-cad-page="dispatch"]>.platenet-footer{flex:0 0 28px!important}


body.pn-app .dispatch-tabs{display:flex;gap:2px;padding:6px 10px;background:var(--bg-body);border-bottom:1px solid var(--border)}
body.pn-app .dispatch-tab{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);padding:8px 18px;font-weight:600;font-size:11px;cursor:pointer}
body.pn-app .dispatch-tab.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-border)}
body.pn-app .radio-workspace{min-height:0;padding:8px 10px 10px;background:var(--bg-body);overflow:hidden;display:flex;flex-direction:column}
body.pn-app .radio-grid{flex:1 1 auto;min-height:0;height:auto;display:grid;grid-template-columns:320px minmax(480px,1fr) minmax(390px,34%);gap:8px;width:100%;align-items:stretch}
body.pn-app .radio-channel-panel,
body.pn-app .radio-entry-panel,
body.pn-app .radio-right-column{min-width:0;min-height:0;height:100%}
body.pn-app .radio-channel-panel{display:flex;flex-direction:column}
body.pn-app .panel-select{max-width:150px;background:var(--bg-body);color:var(--text-primary);border:1px solid var(--border);font-size:11px;padding:4px}
body.pn-app .radio-channel-list{padding:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:42%;overflow:auto}
body.pn-app .radio-channel-button{background:var(--bg-surface-alt);border:1px solid var(--border);color:var(--text-primary);padding:7px;text-align:left;cursor:pointer;min-width:0}
body.pn-app .radio-channel-button strong,
body.pn-app .radio-channel-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.pn-app .radio-channel-button small{font-size:9px;color:var(--text-muted);margin-top:3px}
body.pn-app .radio-channel-button.selected{border-color:var(--status-blue);box-shadow:inset 3px 0 0 var(--btn-primary-border)}
body.pn-app .radio-subtitle{border-top:1px solid var(--border)}
body.pn-app .radio-unit-list,
body.pn-app .radio-activity{padding:6px;overflow:auto;min-height:70px;flex:1}
body.pn-app .radio-unit-row,
body.pn-app .radio-activity-row{display:flex;gap:7px;align-items:center;padding:6px;border-bottom:1px solid var(--border);font-size:11px}
body.pn-app .radio-dot{width:8px;height:8px;border-radius:50%;background:var(--status-green);flex:none}
body.pn-app .radio-entry-panel{display:flex;flex-direction:column}
body.pn-app .radio-selected-channel{background:var(--bg-surface-alt);border:1px solid var(--border);padding:8px;font-weight:700;font-size:12px;margin-bottom:8px}
body.pn-app .radio-form textarea{min-height:72px}
body.pn-app .radio-options{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;align-items:end;margin-top:12px}
body.pn-app .radio-options label,
body.pn-app .radio-tone-row label{font-size:10px;font-weight:700;color:var(--text-muted);display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
body.pn-app .radio-options select,
body.pn-app .radio-tone-row select{display:block;width:100%;margin-top:3px;background:var(--bg-body);color:var(--text-primary);border:1px solid var(--border);padding:6px 8px;min-height:30px;height:30px}
body.pn-app .radio-voice-select{grid-column:span 3;width:auto}
body.pn-app .radio-tone-select{grid-column:span 4;width:auto}
body.pn-app .radio-repeat-select{grid-column:span 1;width:auto}
body.pn-app .radio-options .radio-compact-action{grid-column:span 2;min-width:0}
body.pn-app .radio-tone-row .radio-compact-action{min-width:0}
body.pn-app .radio-tone-row .radio-compact-action:nth-of-type(1){grid-column:5/7}
body.pn-app .radio-tone-row .radio-compact-action:nth-of-type(2){grid-column:7/9}
body.pn-app .radio-tone-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;align-items:end;margin-top:8px}
body.pn-app .radio-compact-action{flex:0 0 auto;min-width:110px;min-height:30px;padding:6px 8px}
body.pn-app #radioWaveform{width:100%;height:48px;flex:0 1 48px;min-height:20px;background:var(--bg-deep);border:1px solid var(--border);margin-top:8px}
body.pn-app #radioAudio{width:100%;height:34px;margin-top:5px}
body.pn-app .radio-status-line{display:flex;align-items:center;gap:10px;margin-top:5px;font-size:10px;color:var(--text-muted)}
body.pn-app .radio-right-column{display:grid;grid-template-rows:1fr;gap:8px}

body.pn-app .radio-history-panel{min-height:0;display:flex;flex-direction:column}
body.pn-app .radio-history{overflow:auto;flex:1}
body.pn-app .radio-history-item{padding:8px;border-bottom:1px solid var(--border);font-size:10px}
body.pn-app .radio-history-item strong{display:block;margin-bottom:4px}body.pn-app .radio-history-item p{margin:0;color:var(--text-secondary)}
@media(max-width:1200px){body.pn-app .radio-grid{grid-template-columns:270px 1fr}body.pn-app .radio-right-column{display:none}}
@media(max-width:800px){body.pn-app .radio-workspace{height:auto;overflow:auto}body.pn-app .radio-grid{display:block;flex:none;height:auto}body.pn-app .radio-channel-panel,
body.pn-app .radio-entry-panel{height:auto;margin-bottom:8px}
body.pn-app .radio-voice-select{grid-column:span 8}body.pn-app .radio-repeat-select{grid-column:span 4}body.pn-app .radio-tone-select{grid-column:span 6}body.pn-app .radio-options .radio-compact-action{grid-column:span 3}body.pn-app .radio-tone-row .radio-compact-action:nth-of-type(1){grid-column:7/10}body.pn-app .radio-tone-row .radio-compact-action:nth-of-type(2){grid-column:10/13}}

body.pn-app .auto-choice{min-width:64px;font-size:12px}
body.pn-app .toolbar-btn:focus-visible{outline:none;border-color:var(--border-focus)}


html.pn-page-after-beta-pricing-root,
html.pn-page-after-beta-pricing-root *,
html.pn-page-after-beta-pricing-root::before,
html.pn-page-after-beta-pricing-root *::before,
html.pn-page-after-beta-pricing-root::after,
html.pn-page-after-beta-pricing-root *::after{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html.pn-page-after-beta-pricing-root{
            --bg: #1a1a1a;
            --bar: #1e2530;
            --surface: #242424;
            --surface-alt: #2a2a2a;
            --surface-featured: #212c3a;
            --border: #3a3a3a;
            --border-light: #444;
            --border-featured: #4a88c0;
            --accent: #4a88c0;
            --accent-hover: #5a98d0;
            --text: #e8e8e8;
            --muted: #a0a0a0;
            --muted-dark: #666;
            --green: #3d9a40;
            --red: #b83232;
            --yellow: #d49200;
            --topbar-h: 44px;
            --footer-h: 28px;
        }

        html.pn-page-after-beta-pricing-root,
body.pn-page-after-beta-pricing{
            width: 100%;
            height: 100%;
            overflow: hidden;
            background-color: var(--bg);
            color: var(--text);
            font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 16px;
            user-select: none;
        }

        body.pn-page-after-beta-pricing #topbar{
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            height: var(--topbar-h);
            z-index: 100;
            background: var(--bar);
            border-bottom: 1px solid var(--border);
            padding: 0 16px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        body.pn-page-after-beta-pricing .topbar-left{
            display: flex;
            align-items: center;
            gap: 12px;
        }

        body.pn-page-after-beta-pricing .logo-img{
            display: block;
            width: auto;
            height: 32px;
            flex-shrink: 0;
            filter: invert(1) brightness(1.6);
            opacity: .95;
        }

        body.pn-page-after-beta-pricing .topbar-title{
            display: none;
        }
        body.pn-page-after-beta-pricing .logo-text{
            height: 28px;
            width: auto;
            opacity: 0.95;
            margin-left: 2px;
            display: block;
            filter: invert(1) brightness(1.6);
        }

        body.pn-page-after-beta-pricing .nav-right{
            display: flex;
            align-items: center;
            gap: 10px;
        }

        body.pn-page-after-beta-pricing .nav-back{
            display: inline-flex;
            align-items: center;
            height: 30px;
            padding: 0 12px;
            font-size: 11px;
            font-weight: 600;
            text-decoration: none;
            color: var(--muted);
            text-transform: uppercase;
            letter-spacing: .04em;
            border: 1px solid var(--border);
            background: transparent;
            transition: color .15s, border-color .15s, background .15s;
            white-space: nowrap;
        }

        body.pn-page-after-beta-pricing .nav-back:hover{
            color: var(--text);
            border-color: var(--border-light);
            background: var(--surface);
        }

        body.pn-page-after-beta-pricing .btn-login{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            height: 30px;
            padding: 0 16px;
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: .05em;
            text-decoration: none;
            background: var(--accent);
            color: #fff;
            border: 1px solid var(--accent);
            transition: background .15s, border-color .15s;
            white-space: nowrap;
        }

        body.pn-page-after-beta-pricing .btn-login:hover{
            background: var(--accent-hover);
            border-color: var(--accent-hover);
        }

        body.pn-page-after-beta-pricing main{
            position: absolute;
            inset: var(--topbar-h) 0 var(--footer-h) 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 20px 20px;
            overflow-y: auto;
            z-index: 10;
        }

        body.pn-page-after-beta-pricing .page-header{
            text-align: center;
            margin-bottom: 22px;
            flex-shrink: 0;
        }

        body.pn-page-after-beta-pricing .eyebrow{
            display: inline-block;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: .18em;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 7px;
        }

        body.pn-page-after-beta-pricing h1{
            font-size: 1.9rem;
            font-weight: 700;
            line-height: 1.15;
            color: #fff;
            margin-bottom: 7px;
            letter-spacing: -.02em;
        }

        body.pn-page-after-beta-pricing h1 span{ color: var(--accent); }

        body.pn-page-after-beta-pricing .page-sub{
            font-size: .83rem;
            line-height: 1.5;
            color: var(--muted);
            max-width: 440px;
            margin: 0 auto;
        }

        body.pn-page-after-beta-pricing .cards{
            display: grid;
            grid-template-columns: 1fr 1.08fr 1fr;
            gap: 0;
            width: 100%;
            max-width: 900px;
            align-items: stretch;
            flex-shrink: 0;
        }

        body.pn-page-after-beta-pricing .card{
            background: var(--surface);
            border: 1px solid var(--border);
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }

        body.pn-page-after-beta-pricing .card.featured{
            background: var(--surface-featured);
            border-color: var(--border-featured);
            border-width: 2px;
            z-index: 2;
            box-shadow: 0 0 0 1px rgba(74,136,192,.18), 0 8px 32px rgba(0,0,0,.45);
        }

        body.pn-page-after-beta-pricing .popular-ribbon{
            background: var(--accent);
            color: #fff;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: .14em;
            text-align: center;
            padding: 5px 0 4px;
            flex-shrink: 0;
        }

        body.pn-page-after-beta-pricing .card-header{
            background: var(--bar);
            border-bottom: 1px solid var(--border);
            padding: 10px 16px;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .08em;
            text-transform: uppercase;
            color: var(--accent);
        }

        body.pn-page-after-beta-pricing .card.featured .card-header{
            border-bottom-color: var(--border-featured);
        }

        body.pn-page-after-beta-pricing .card-body{
            padding: 16px;
            flex: 1;
            display: flex;
            flex-direction: column;
        }

        body.pn-page-after-beta-pricing .plan-price{
            display: flex;
            align-items: flex-end;
            gap: 4px;
            margin-bottom: 6px;
        }

        body.pn-page-after-beta-pricing .amount{
            font-size: 2rem;
            font-weight: 700;
            color: #fff;
            line-height: 1;
        }

        body.pn-page-after-beta-pricing .card.featured .amount{
            font-size: 2.3rem;
        }

        body.pn-page-after-beta-pricing .period{
            font-size: .78rem;
            color: var(--muted);
            padding-bottom: 5px;
        }

        body.pn-page-after-beta-pricing .plan-desc{
            font-size: .78rem;
            line-height: 1.5;
            color: var(--muted);
            margin-bottom: 12px;
            padding-bottom: 12px;
            border-bottom: 1px solid rgba(255,255,255,.06);
        }

        body.pn-page-after-beta-pricing .plan-meta{
            margin-bottom: 12px;
            display: flex;
            flex-direction: column;
            gap: 3px;
        }

        body.pn-page-after-beta-pricing .meta-row{
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: .75rem;
            padding: 3px 0;
            border-bottom: 1px solid rgba(255,255,255,.04);
        }

        body.pn-page-after-beta-pricing .meta-row:last-child{ border-bottom: none; }
        body.pn-page-after-beta-pricing .meta-key{ color: var(--muted); }
        body.pn-page-after-beta-pricing .meta-val{ color: #fff; font-weight: 700; }

        body.pn-page-after-beta-pricing .plan-features{
            list-style: none;
            margin-bottom: 16px;
            flex: 1;
        }

        body.pn-page-after-beta-pricing .plan-features li{
            font-size: .77rem;
            color: var(--text);
            padding: 4px 0;
            border-bottom: 1px solid rgba(255,255,255,.04);
            display: flex;
            align-items: flex-start;
            gap: 7px;
            line-height: 1.35;
        }

        body.pn-page-after-beta-pricing .plan-features li:last-child{ border-bottom: none; }

        body.pn-page-after-beta-pricing .plan-features li .fi{
            flex-shrink: 0;
            font-size: .8rem;
            line-height: 1.35;
            font-style: normal;
        }

        body.pn-page-after-beta-pricing .plan-features li.yes .fi{ color: var(--green); }
        body.pn-page-after-beta-pricing .plan-features li.no  .fi{ color: var(--red); }
        body.pn-page-after-beta-pricing .plan-features li.no{ color: var(--muted); opacity: .55; }

        body.pn-page-after-beta-pricing .btn-plan{
            display: block;
            width: 100%;
            text-align: center;
            text-decoration: none;
            padding: 9px;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .08em;
            text-transform: uppercase;
            border: 1px solid var(--accent);
            color: var(--accent);
            background: transparent;
            cursor: pointer;
            transition: background .15s, color .15s, border-color .15s;
        }

        body.pn-page-after-beta-pricing .btn-plan:hover{
            background: var(--accent);
            color: #fff;
        }

        body.pn-page-after-beta-pricing .btn-plan.solid{
            background: var(--accent);
            color: #fff;
        }

        body.pn-page-after-beta-pricing .btn-plan.solid:hover{
            background: var(--accent-hover);
            border-color: var(--accent-hover);
        }

        body.pn-page-after-beta-pricing .roadmap{
            width: 100%;
            max-width: 900px;
            margin-top: 20px;
            flex-shrink: 0;
        }

        body.pn-page-after-beta-pricing .roadmap-title{
            font-size: 9px;
            font-weight: 700;
            letter-spacing: .18em;
            text-transform: uppercase;
            color: var(--muted);
            margin-bottom: 8px;
            padding-bottom: 6px;
            border-bottom: 1px solid var(--border);
        }

        body.pn-page-after-beta-pricing .roadmap-items{
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 8px;
        }

        body.pn-page-after-beta-pricing .roadmap-item{
            display: flex;
            align-items: center;
            gap: 8px;
            background: var(--surface);
            border: 1px solid var(--border);
            border-left: 3px solid var(--yellow);
            padding: 8px 12px;
            font-size: .76rem;
        }

        body.pn-page-after-beta-pricing .roadmap-item .ri-label{
            font-weight: 700;
            color: var(--text);
        }

        body.pn-page-after-beta-pricing .roadmap-item .ri-tag{
            font-size: 8px;
            font-weight: 700;
            letter-spacing: .1em;
            padding: 2px 5px;
            border: 1px solid rgba(212,146,0,.4);
            color: var(--yellow);
            text-transform: uppercase;
            flex-shrink: 0;
        }

        body.pn-page-after-beta-pricing .roadmap-item .ri-plans{
            margin-left: auto;
            font-size: 10px;
            color: var(--muted);
            flex-shrink: 0;
        }

        body.pn-page-after-beta-pricing #bottombar{
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            height: var(--footer-h);
            z-index: 100;
            background: var(--bg);
            border-top: 1px solid var(--border);
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 16px;
        }

        body.pn-page-after-beta-pricing .bar-left{
            font-size: 10px;
            color: var(--muted-dark);
        }

        body.pn-page-after-beta-pricing .bar-left a{
            color: var(--muted-dark);
            text-decoration: none;
        }

        body.pn-page-after-beta-pricing .bar-left a:hover{ color: var(--muted); }

        body.pn-page-after-beta-pricing .bar-version{
            font-size: 10px;
            color: var(--muted-dark);
        }

        @media (max-width: 760px) {
            html.pn-page-after-beta-pricing-root,
body.pn-page-after-beta-pricing{ overflow-x: hidden; overflow-y: auto; height: auto; }

            body.pn-page-after-beta-pricing main{
                position: relative;
                inset: auto;
                margin-top: var(--topbar-h);
                padding: 20px 14px 16px;
                min-height: calc(100vh - var(--topbar-h) - var(--footer-h));
                justify-content: flex-start;
            }

            body.pn-page-after-beta-pricing .cards{
                grid-template-columns: 1fr;
                gap: 10px;
            }

            body.pn-page-after-beta-pricing .card.featured{
                border-width: 2px;
                order: -1;
            }

            body.pn-page-after-beta-pricing h1{ font-size: 1.6rem; }

            body.pn-page-after-beta-pricing #bottombar{ position: relative; inset: auto; }

            body.pn-page-after-beta-pricing .roadmap-items{ flex-direction: column; }
        }

        @media (max-width: 500px) {
            body.pn-page-after-beta-pricing .logo-img{ height: 28px; }
            body.pn-page-after-beta-pricing .topbar-title{ display: none; }
        }


html.pn-page-404-root,
html.pn-page-404-root *,
html.pn-page-404-root::before,
html.pn-page-404-root *::before,
html.pn-page-404-root::after,
html.pn-page-404-root *::after{ margin: 0; padding: 0; box-sizing: border-box; }
        html.pn-page-404-root{
            --bg: #1a1a1a;
            --bar: #1e2530;
            --surface: #242424;
            --border: #3a3a3a;
            --accent: #4a88c0;
            --accent-hover: #5a98d0;
            --text: #e8e8e8;
            --muted: #a0a0a0;
            --muted-dark: #666;
            --topbar-h: 44px;
            --footer-h: 28px;
        }
        html.pn-page-404-root,
body.pn-page-404{
            height: 100%;
            background: var(--bg);
            color: var(--text);
            font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 13px;
            overflow: hidden;
        }
        body.pn-page-404 #topbar{
            position: fixed;
            top: 0; left: 0; right: 0;
            height: var(--topbar-h);
            z-index: 100;
            background: var(--bar);
            border-bottom: 1px solid var(--border);
            padding: 0 16px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        body.pn-page-404 .logo-text{
            height: 28px;
            width: auto;
            opacity: 0.95;
            margin-left: 2px;
            display: block;
            filter: invert(1) brightness(1.6);
        }
        body.pn-page-404 .topbar-brand{
            font-size: 13px;
            font-weight: 700;
            letter-spacing: .5px;
            color: var(--accent);
            text-transform: uppercase;
            margin-left: 12px;
        }
        body.pn-page-404 .topbar-left{ display: flex; align-items: center; }
        body.pn-page-404 .nav-right{ display: flex; align-items: center; gap: 16px; }
        body.pn-page-404 .btn-login{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: .05em;
            text-decoration: none;
            padding: 0 16px;
            height: 30px;
            background: var(--accent);
            color: #fff;
            border: 1px solid var(--accent);
            transition: background .15s, border-color .15s;
        }
        body.pn-page-404 .btn-login:hover{
            background: var(--accent-hover);
            border-color: var(--accent-hover);
        }
        body.pn-page-404 main{
            position: fixed;
            inset: var(--topbar-h) 0 var(--footer-h);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }
        body.pn-page-404 .error-box{
            background: var(--surface);
            border: 1px solid var(--border);
            border-top: 3px solid var(--accent);
            padding: 32px 36px 28px;
            width: min(420px, 100%);
            text-align: center;
        }
        body.pn-page-404 .eyebrow{
            display: inline-block;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: .2em;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 14px;
        }
        body.pn-page-404 h1{
            font-size: 4rem;
            font-weight: 700;
            color: #fff;
            line-height: 1;
            margin-bottom: 8px;
            letter-spacing: -.04em;
        }
        body.pn-page-404 .error-title{
            font-size: .95rem;
            font-weight: 700;
            color: var(--text);
            margin-bottom: 6px;
            text-transform: uppercase;
            letter-spacing: .08em;
        }
        body.pn-page-404 .error-sub{
            font-size: .82rem;
            color: var(--muted);
            line-height: 1.5;
            margin-bottom: 24px;
        }
        body.pn-page-404 .actions{
            display: flex;
            gap: 10px;
            justify-content: center;
            flex-wrap: wrap;
        }
        body.pn-page-404 .btn-primary{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0 20px;
            height: 32px;
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .08em;
            text-decoration: none;
            background: var(--accent);
            color: #fff;
            border: 1px solid var(--accent);
            transition: background .15s, border-color .15s;
        }
        body.pn-page-404 .btn-primary:hover{
            background: var(--accent-hover);
            border-color: var(--accent-hover);
        }
        body.pn-page-404 .btn-outline{
            appearance: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0 20px;
            height: 32px;
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .08em;
            text-decoration: none;
            color: var(--accent);
            border: 1px solid var(--accent);
            background: transparent;
            font-family: inherit;
            cursor: pointer;
            transition: background .15s, color .15s;
        }
        body.pn-page-404 .btn-outline:hover{
            background: var(--accent);
            color: #fff;
        }


body.pn-page-civilian .civ-layout{
            display: grid;
            grid-template-columns: 200px 1fr;
            flex: 1;
            overflow: hidden;
        }

        body.pn-page-civilian .civ-nav{
            background: var(--bg-surface);
            padding: var(--space-md);
            display: flex;
            flex-direction: column;
            gap: var(--space-xs);
            border-right: 1px solid var(--border);
        }

        body.pn-page-civilian .civ-nav a{
            display: block;
            padding: var(--space-sm) var(--space-md);
            color: var(--text-secondary);
            text-decoration: none;
            font-size: 12px;
            font-weight: 600;
        }

        body.pn-page-civilian .civ-nav a:hover{
            background: var(--bg-surface-alt);
            color: var(--text-primary);
        }

        body.pn-page-civilian .civ-nav a.active{
            background: var(--btn-primary-bg);
            color: var(--btn-primary-text);
        }

        body.pn-page-civilian .civ-nav a.emergency{
            color: var(--status-red);
        }

        body.pn-page-civilian .civ-content{
            padding: var(--space-lg);
            overflow-y: auto;
        }

        body.pn-page-civilian .char-grid{
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: var(--space-md);
        }

        body.pn-page-civilian .char-card{
            background: var(--bg-surface-alt);
            border: 1px solid var(--border);
            padding: var(--space-md);
        }

        body.pn-page-civilian .char-card.primary{
            border-color: var(--status-blue);
        }

        body.pn-page-civilian .char-name{
            font-size: 16px;
            font-weight: 700;
            color: var(--text-primary);
            margin-bottom: var(--space-sm);
        }

        body.pn-page-civilian .char-info{
            font-size: 11px;
            color: var(--text-secondary);
            margin-bottom: var(--space-xs);
        }

        body.pn-page-civilian .char-info-line{
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        body.pn-page-civilian .char-card .v5-badge{
            margin-bottom: var(--space-sm);
        }

        body.pn-page-civilian .form-section{
            background: var(--bg-surface-alt);
            border: 1px solid var(--border);
            padding: var(--space-lg);
            margin-top: var(--space-lg);
        }

        body.pn-page-civilian .form-section-title{
            color: var(--text-secondary);
            font-weight: 700;
            font-size: 11px;
            text-transform: uppercase;
            margin-bottom: var(--space-md);
            letter-spacing: 0.5px;
        }

        body.pn-page-civilian .emergency-box{
            background: var(--bg-surface-alt);
            border: 2px solid var(--status-red);
            padding: var(--space-lg);
            max-width: 500px;
            margin: 0 auto;
        }

        body.pn-page-civilian .emergency-box .form-input,
        body.pn-page-civilian .emergency-box select.form-input,
        body.pn-page-civilian .emergency-box textarea.form-input{
            max-width: none;
        }

        body.pn-page-civilian .emergency-box textarea.form-input{
            resize: none;
        }



html.pn-page-contact-root,
html.pn-page-contact-root *,
html.pn-page-contact-root::before,
html.pn-page-contact-root *::before,
html.pn-page-contact-root::after,
html.pn-page-contact-root *::after{ margin: 0; padding: 0; box-sizing: border-box; }
        html.pn-page-contact-root{
            --bg: #1a1a1a;
            --bar: #1e2530;
            --surface: #242424;
            --surface-alt: #2a2a2a;
            --surface-featured: #212c3a;
            --border: #3a3a3a;
            --border-light: #444;
            --border-featured: #4a88c0;
            --accent: #4a88c0;
            --accent-hover: #5a98d0;
            --text: #e8e8e8;
            --muted: #a0a0a0;
            --muted-dark: #666;
            --topbar-h: 44px;
            --footer-h: 28px;
        }
        html.pn-page-contact-root,
body.pn-page-contact{
            width: 100%;
            height: 100%;
            overflow: hidden;
            background-color: var(--bg);
            color: var(--text);
            font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 16px;
            user-select: none;
        }

        body.pn-page-contact #topbar{
            position: fixed;
            top: 0; left: 0; right: 0;
            height: var(--topbar-h);
            z-index: 100;
            background: var(--bar);
            border-bottom: 1px solid var(--border);
            padding: 0 16px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        body.pn-page-contact .topbar-left{ display: flex; align-items: center; gap: 12px; }
        body.pn-page-contact .logo-img{
            display: block;
            width: auto;
            height: 32px;
            flex-shrink: 0;
            filter: invert(1) brightness(1.6);
            opacity: .95;
        }
        body.pn-page-contact .topbar-title{
            display: none;
        }
        body.pn-page-contact .logo-text{
            height: 28px;
            width: auto;
            opacity: 0.95;
            margin-left: 2px;
            display: block;
            filter: invert(1) brightness(1.6);
        }
        body.pn-page-contact .nav-right{ display: flex; align-items: center; gap: 10px; }
        body.pn-page-contact .nav-back{
            display: inline-flex;
            align-items: center;
            height: 30px;
            padding: 0 12px;
            font-size: 11px;
            font-weight: 600;
            text-decoration: none;
            color: var(--muted);
            text-transform: uppercase;
            letter-spacing: .04em;
            border: 1px solid var(--border);
            background: transparent;
            transition: color .15s, border-color .15s, background .15s;
            white-space: nowrap;
        }
        body.pn-page-contact .nav-back:hover{
            color: var(--text);
            border-color: var(--border-light);
            background: var(--surface);
        }
        body.pn-page-contact .btn-login{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            height: 30px;
            padding: 0 16px;
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: .05em;
            text-decoration: none;
            background: var(--accent);
            color: #fff;
            border: 1px solid var(--accent);
            transition: background .15s, border-color .15s;
            white-space: nowrap;
        }
        body.pn-page-contact .btn-login:hover{
            background: var(--accent-hover);
            border-color: var(--accent-hover);
        }

        body.pn-page-contact main{
            position: absolute;
            inset: var(--topbar-h) 0 var(--footer-h) 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 20px;
            overflow-y: auto;
            z-index: 10;
        }
        body.pn-page-contact .page-header{
            text-align: center;
            margin-bottom: 22px;
            flex-shrink: 0;
        }
        body.pn-page-contact .eyebrow{
            display: inline-block;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: .18em;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 7px;
        }
        body.pn-page-contact h1{
            font-size: 1.9rem;
            font-weight: 700;
            line-height: 1.15;
            color: #fff;
            margin-bottom: 7px;
            letter-spacing: -.02em;
        }
        body.pn-page-contact h1 span{ color: var(--accent); }
        body.pn-page-contact .page-sub{
            font-size: .83rem;
            line-height: 1.5;
            color: var(--muted);
            max-width: 440px;
            margin: 0 auto;
        }

        body.pn-page-contact .cards{
            display: grid;
            grid-template-columns: 1fr;
            gap: 20px;
            width: 100%;
            max-width: 600px;
            align-items: stretch;
            flex-shrink: 0;
        }
        body.pn-page-contact .card{
            background: var(--surface);
            border: 1px solid var(--border);
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }
        body.pn-page-contact .card.featured{
            background: #2a2a2a;
            border-color: rgba(255, 255, 255, 0.15);
            border-width: 1px;
            z-index: 2;
            box-shadow: 0 8px 32px rgba(0,0,0,.6);
        }
        body.pn-page-contact .card-body{
            padding: 24px;
            flex: 1;
            display: flex;
            flex-direction: column;
        }

        body.pn-page-contact .email-link{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 12px 32px;
            font-size: 13px;
            font-weight: 700;
            letter-spacing: .08em;
            text-transform: lowercase;
            text-decoration: none;
            background: var(--accent);
            color: #fff;
            border: 1px solid var(--accent);
            transition: background .15s, border-color .15s;
        }
        body.pn-page-contact .email-link:hover{
            background: var(--accent-hover);
            border-color: var(--accent-hover);
        }

        body.pn-page-contact .discord-card{
            display: flex;
            align-items: center;
            gap: 16px;
            padding: 14px;
            color: #ffffff;
            background: #4752c4;
        }
        body.pn-page-contact .discord-logo-wrap{
            position: relative;
            width: 52px;
            height: 52px;
            flex: 0 0 52px;
        }
        body.pn-page-contact .discord-logo{
            display: block;
            width: 52px;
            height: 52px;
            border: 2px solid rgba(255, 255, 255, 0.9);
            background: #ffffff;
            object-fit: contain;
        }
        body.pn-page-contact .discord-details{
            min-width: 0;
            flex: 1;
            text-align: left;
        }
        body.pn-page-contact .discord-label{
            margin: 0 0 2px;
            color: rgba(255, 255, 255, 0.78);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        body.pn-page-contact .discord-title{
            margin: 0;
            color: #ffffff;
            font-size: 16px;
            font-weight: 700;
            line-height: 1.3;
        }
        body.pn-page-contact .discord-description{
            margin: 3px 0 0;
            color: rgba(255, 255, 255, 0.82);
            font-size: 12px;
            line-height: 1.4;
        }
        body.pn-page-contact .discord-link{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            padding: 8px 16px;
            color: #111827;
            background: #ffffff;
            text-decoration: none;
            text-transform: uppercase;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .05em;
            line-height: 1.3;
            transition: background .15s;
        }
        body.pn-page-contact .discord-link:hover{
            background: #f0f1ff;
        }

body.pn-page-contact .bar-left{
            font-size: 10px;
            color: var(--muted-dark);
        }
        body.pn-page-contact .bar-left a{
            color: var(--muted-dark);
            text-decoration: none;
        }
        body.pn-page-contact .bar-left a:hover{ color: var(--muted); }
        body.pn-page-contact .bar-version{
            font-size: 10px;
            color: var(--muted-dark);
        }

        @media (max-width: 600px) {
            html.pn-page-contact-root,
body.pn-page-contact{ overflow-y: auto; height: auto; }
            body.pn-page-contact main{
                position: relative;
                inset: auto;
                margin-top: var(--topbar-h);
                padding: 24px 14px;
                min-height: calc(100vh - var(--topbar-h) - var(--footer-h));
                justify-content: flex-start;
            }
            body.pn-page-contact .discord-card{
                flex-wrap: wrap;
                align-items: flex-start;
            }
            body.pn-page-contact .discord-details{
                width: calc(100% - 60px);
            }
            body.pn-page-contact .discord-link{
                width: 100%;
                text-align: center;
            }
body.pn-page-contact .topbar-title{ display: none; }
        }


body.pn-page-history .history-layout{
            display: grid;
            grid-template-columns: 1fr 400px;
            flex: 1;
            overflow: hidden;
        }

        body.pn-page-history .history-list{
            overflow-y: auto;
        }

        body.pn-page-history .filter-bar{
            padding: var(--space-md);
            background: var(--bg-body);
            border-bottom: 1px solid var(--border);
            display: flex;
            gap: var(--space-md);
            align-items: center;
        }
        body.pn-page-history .filter-bar .btn{
            min-height: 32px;
        }

        body.pn-page-history .history-row{
            display: grid;
            grid-template-columns: 90px 80px 1fr 140px 80px;
            align-items: stretch;
            padding: 0 var(--space-md);
            border-bottom: 1px solid var(--bg-body);
            font-size: 12px;
            cursor: pointer;
        }

        body.pn-page-history .history-row > div{
            display: flex;
            align-items: center;
            min-width: 0;
            padding-top: var(--space-sm);
            padding-bottom: var(--space-sm);
        }
        body.pn-page-history .history-row > div.history-type-loc{
            display: grid;
            grid-template-columns: min(230px, 45%) minmax(0, 1fr);
            column-gap: 16px;
            align-items: center;
        }
        body.pn-page-history .history-row > div + div{
            border-left: 1px solid var(--bg-body);
            padding-left: 8px;
        }

        body.pn-page-history .history-row:hover{
            background: var(--bg-surface-alt);
        }

        body.pn-page-history .history-row.selected{
            background: var(--bg-selected);
            box-shadow: inset 3px 0 0 var(--border-focus);
        }

        body.pn-page-history .detail-panel{
            border-left: 1px solid var(--border);
            overflow-y: auto;
        }

        body.pn-page-history .detail-header{
            padding: var(--space-md);
            background: var(--bg-body);
            border-bottom: 1px solid var(--border);
        }

        body.pn-page-history .detail-body{
            padding: var(--space-md);
        }


.platenet-footer{height:28px;min-height:28px;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:0 12px!important;background:var(--bg-body)!important;border-top:1px solid var(--border)!important;color:var(--text-secondary)!important;font:10px/1.2 "Segoe UI",Arial,sans-serif;flex:0 0 28px;z-index:80}
        .platenet-footer-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
        .platenet-footer-status.is-danger{color:var(--status-red)}
        .platenet-footer-center{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
        .platenet-footer-center a,.platenet-footer-version{color:inherit;text-decoration:none}
        .platenet-footer-center a:hover{text-decoration:underline;color:var(--text-primary)}
        .platenet-footer-version{text-align:right;white-space:nowrap}
        @media(max-width:640px){.platenet-footer{grid-template-columns:1fr auto}.platenet-footer-status{display:none}.platenet-footer-center{justify-content:flex-start}.platenet-footer-center .sys-clock,.platenet-footer-center span:nth-of-type(2){display:none}.platenet-footer-version{grid-column:2;text-align:right}}


html.pn-page-landing-root,
html.pn-page-landing-root *,
html.pn-page-landing-root::before,
html.pn-page-landing-root *::before,
html.pn-page-landing-root::after,
html.pn-page-landing-root *::after{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html.pn-page-landing-root{
            --bg: #1a1a1a;
            --bar: #1e2530;
            --footer: #1a1a1a;
            --card: rgba(36, 36, 36, .96);
            --border: #3a3a3a;
            --border-subtle: rgba(255,255,255,.08);
            --accent: #4a88c0;
            --accent-hover: #5a98d0;
            --text: #e8e8e8;
            --muted: #a0a0a0;
            --green: #3d9a40;
            --yellow: #d49200;
            --topbar-h: 44px;
            --footer-h: 28px;
        }

        html.pn-page-landing-root,
body.pn-page-landing{
            width: 100%;
            min-width: 320px;
            height: 100%;
            overflow: hidden;
            background: var(--bg);
            color: var(--text);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            user-select: none;
        }

        body.pn-page-landing button,
body.pn-page-landing a{
            -webkit-tap-highlight-color: transparent;
        }

        body.pn-page-landing #topbar{
            position: fixed;
            inset: 0 0 auto 0;
            z-index: 100;
            height: var(--topbar-h);
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            padding: 0 16px;
            background: var(--bar);
            border-bottom: 1px solid var(--border);
        }

        body.pn-page-landing .topbar-left,
body.pn-page-landing .bar-right{
            display: flex;
            align-items: center;
        }

        body.pn-page-landing .topbar-left{
            grid-column: 1;
            justify-self: start;
            justify-content: flex-start;
            gap: 0;
        }

        body.pn-page-landing .bar-right{
            grid-column: 3;
            justify-self: end;
            justify-content: flex-end;
        }

        body.pn-page-landing .bar-brand{
            display: none;
        }
        body.pn-page-landing .logo-text{
            height: 28px;
            width: auto;
            opacity: 0.95;
            margin-left: 2px;
            display: block;
            filter: invert(1) brightness(1.6);
        }

        body.pn-page-landing .logo-img-top{
            display: block;
            width: auto;
            height: 32px;
            filter: invert(1) brightness(1.6);
            opacity: .95;
        }

        body.pn-page-landing .btn-login,
body.pn-page-landing .btn-primary{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            background: var(--accent);
            border: 1px solid var(--accent);
            border-radius: 0;
            text-decoration: none;
            text-transform: uppercase;
            font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
            font-weight: 600;
            letter-spacing: .05em;
            transition: background .15s ease;
            cursor: pointer;
        }

        body.pn-page-landing .btn-login{
            min-width: 80px;
            height: 30px;
            padding: 0 16px;
            font-size: 11px;
        }

        body.pn-page-landing .btn-primary{
            min-width: 152px;
            height: 30px;
            padding: 0 18px;
            font-size: 11px;
        }

        body.pn-page-landing .btn-login:hover,
body.pn-page-landing .btn-primary:hover{
            background: var(--accent-hover);
            border-color: var(--accent-hover);
        }

        body.pn-page-landing #main-container{
            position: fixed;
            inset: var(--topbar-h) 0 var(--footer-h);
            z-index: 10;
        }

        body.pn-page-landing .page-header{
            position: absolute;
            top: clamp(42px, 7.6vh, 82px);
            left: 50%;
            z-index: 30;
            width: min(760px, 90vw);
            padding: 0 20px;
            text-align: center;
            background: transparent;
            border: 0;
            box-shadow: none;
            transform: translateX(-50%);
            pointer-events: none;
        }

        body.pn-page-landing .eyebrow{
            display: inline-block;
            margin-bottom: 8px;
            color: var(--accent);
            font-size: 10px;
            font-weight: 650;
            letter-spacing: .20em;
            text-transform: uppercase;
        }

        body.pn-page-landing h1{
            margin-bottom: 9px;
            color: #fff;
            font-size: clamp(2rem, 2.15vw, 2.45rem);
            font-weight: 760;
            line-height: 1.02;
            letter-spacing: -.025em;
            text-shadow: 0 4px 18px rgba(0, 0, 0, .70);
        }

        body.pn-page-landing .wavy-highlight{
            position: relative;
            display: inline-block;
            color: var(--accent);
        }

        body.pn-page-landing .wavy-highlight::after{
            content: "";
            position: absolute;
            left: 0;
            bottom: -11px;
            width: 100%;
            height: 7px;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0,5 Q12,1 25,5 T50,5 T75,5 T100,5' fill='none' stroke='%234b89dc' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
            background-size: 100% 100%;
            background-repeat: no-repeat;
        }

        body.pn-page-landing .page-sub{
            max-width: 610px;
            margin: 0 auto;
            color: #999faa;
            font-size: clamp(.82rem, .85vw, .95rem);
            line-height: 1.52;
            text-shadow: 0 2px 12px rgba(0, 0, 0, .80);
        }

        body.pn-page-landing #slideshow-container{
            position: absolute;
            top: clamp(94px, 12.2vh, 132px);
            left: 50%;
            width: min(74vw, 1170px);
            height: min(67vh, calc(100% - 260px), 724px);
            min-height: 330px;
            z-index: 10;
            transform: translateX(-50%);
        }

        body.pn-page-landing .slides-wrapper{
            position: absolute;
            inset: 0;
            z-index: 1;
            overflow: hidden;
            background: #111317;
            border: 0;
            border-radius: 0;
            box-shadow: 0 18px 52px rgba(0, 0, 0, .42);
        }

        body.pn-page-landing .slides-wrapper::after{
            content: "";
            position: absolute;
            inset: auto 0 0;
            z-index: 8;
            height: 24%;
            pointer-events: none;
            background: linear-gradient(180deg, transparent, rgba(8, 10, 13, .33));
        }

        body.pn-page-landing #hero{
            position: absolute;
            inset: 0;
            z-index: 1;
            width: 100%;
            height: 100%;
            overflow: hidden;
            transform: scale(1.35);
            transform-origin: center;
        }

        body.pn-page-landing #map-img,
body.pn-page-landing .slide-media{
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }

        body.pn-page-landing #map-img{
            z-index: 0;
        }

        body.pn-page-landing .slide-media{
            z-index: 1;
        }

        body.pn-page-landing #map-overlay{
            position: absolute;
            inset: 0;
            z-index: 1;
            background:
                radial-gradient(circle at 51% 46%, rgba(29, 40, 57, .09), transparent 54%),
                rgba(18, 19, 21, .67);
        }

        body.pn-page-landing #animation-layer{
            position: absolute;
            inset: 0;
            z-index: 2;
            pointer-events: none;
        }

        body.pn-page-landing #lines-svg,
body.pn-page-landing #nodes-layer{
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
        }

        body.pn-page-landing #lines-svg line{
            stroke-linecap: round;
            vector-effect: non-scaling-stroke;
        }

        body.pn-page-landing .uplink-line{
            stroke: var(--green);
            stroke-width: 1.45;
            opacity: .92;
        }

        body.pn-page-landing .downlink-line{
            stroke: var(--green);
            stroke-width: 1;
            stroke-dasharray: 4, 4;
            opacity: .58;
            animation: dataFlow .55s linear infinite reverse;
        }

        body.pn-page-landing .backhaul-idle{
            stroke: rgba(255, 255, 255, .13);
            stroke-width: 1;
            stroke-dasharray: 2, 6;
        }

        body.pn-page-landing .backhaul-active{
            stroke: var(--yellow);
            stroke-width: 1.5;
            opacity: .94;
        }

        @keyframes dataFlow {
            from { stroke-dashoffset: 8; }
            to { stroke-dashoffset: 0; }
        }

        body.pn-page-landing .dispatch-wrap,
body.pn-page-landing .tower-wrap,
body.pn-page-landing .unit-wrap{
            position: absolute;
        }

        body.pn-page-landing .dispatch-wrap{
            z-index: 30;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 3px;
            transform: translate(-50%, -11px);
        }

        body.pn-page-landing .dispatch-icon{
            width: 22px;
            height: 22px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(16, 17, 21, .94);
            border: 1px solid var(--yellow);
            border-radius: 2px;
        }

        body.pn-page-landing .dispatch-icon svg{
            width: 12px;
            height: 12px;
            fill: none;
            stroke: var(--yellow);
            stroke-width: 1.5;
        }

        body.pn-page-landing .dispatch-label,
body.pn-page-landing .tower-label{
            white-space: nowrap;
            font-size: 8px;
            font-weight: 600;
            text-transform: uppercase;
            text-shadow: 0 1px 4px #000;
        }

        body.pn-page-landing .dispatch-label{ color: var(--yellow); }

        body.pn-page-landing .tower-wrap{
            z-index: 25;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 3px;
            transform: translate(-50%, -8px);
        }

        body.pn-page-landing .tower-icon{
            width: 16px;
            height: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        body.pn-page-landing .tower-icon svg{
            width: 100%;
            height: 100%;
            fill: none;
            stroke: var(--accent);
            stroke-width: 1.75;
        }

        body.pn-page-landing .tower-label{ color: #74a7eb; }

        body.pn-page-landing .unit-wrap{
            z-index: 20;
            display: flex;
            align-items: center;
            gap: 4px;
            transform: translate(-3px, -50%);
        }

        body.pn-page-landing .unit-dot{
            width: 6px;
            height: 6px;
            flex: 0 0 6px;
            border: 1px solid rgba(0, 0, 0, .60);
            border-radius: 50%;
            transform-origin: center;
        }

        body.pn-page-landing .police .unit-dot{ background: #3b82f6; }
        body.pn-page-landing .fire .unit-dot{ background: #ef4444; }
        body.pn-page-landing .ems .unit-dot{ background: #e5e7eb; }
        body.pn-page-landing .tow .unit-dot{ background: #f97316; }

        body.pn-page-landing .unit-tag{
            padding: 1px 3px;
            color: var(--text);
            background: rgba(16, 17, 21, .83);
            border: 1px solid rgba(255, 255, 255, .08);
            border-radius: 1px;
            font-size: 8px;
            line-height: 1.15;
            text-transform: uppercase;
            white-space: nowrap;
            opacity: .76;
        }

        body.pn-page-landing .police .unit-tag{ color: #9ec8ff; }
        body.pn-page-landing .fire .unit-tag{ color: #ffaaaa; }
        body.pn-page-landing .ems .unit-tag{ color: #e9edf2; }
        body.pn-page-landing .tow .unit-tag{ color: #ffc080; }

        body.pn-page-landing .unit-wrap.tx .unit-dot{
            transform: scale(1.8);
            border-color: #fff;
            box-shadow: 0 0 8px currentColor;
        }

        body.pn-page-landing .unit-wrap.tx .unit-tag{
            opacity: 1;
            border-color: var(--accent);
            font-weight: 700;
        }

        body.pn-page-landing .unit-wrap.rx .unit-dot{ transform: scale(1.2); }
        body.pn-page-landing .unit-wrap.rx .unit-tag{ opacity: .92; }

        body.pn-page-landing .heatmap-blob{
            position: absolute;
            z-index: 5;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(239, 68, 68, .14) 0%, rgba(234, 179, 8, .04) 45%, transparent 70%);
            transform: translate(-50%, -50%);
        }

        body.pn-page-landing .tg-label{
            position: absolute;
            z-index: 25;
            padding: 1px 4px;
            color: #58d984;
            background: rgba(16, 17, 21, .88);
            border: 1px solid rgba(34, 197, 94, .28);
            border-radius: 1px;
            font-size: 8px;
            text-transform: uppercase;
            white-space: nowrap;
            pointer-events: none;
            transform: translate(-50%, -135%);
        }

        body.pn-page-landing .arrow-btn{
            position: absolute;
            top: 50%;
            z-index: 15;
            width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgba(255, 255, 255, .62);
            background: rgba(61, 63, 64, .66);
            border: 0;
            border-radius: 50%;
            cursor: pointer;
            opacity: .55;
            transform: translateY(-50%);
            transition: opacity .16s ease, transform .16s ease, background .16s ease;
        }

        body.pn-page-landing .arrow-btn svg{
            width: 27px;
            height: 27px;
            fill: currentColor;
        }

        body.pn-page-landing .arrow-btn.prev{ left: 23px; }
        body.pn-page-landing .arrow-btn.next{ right: 23px; }

        body.pn-page-landing #slideshow-container:hover .arrow-btn,
body.pn-page-landing .arrow-btn:focus-visible{ opacity: .9; }

        body.pn-page-landing .arrow-btn:hover{
            color: #fff;
            background: rgba(73, 75, 77, .88);
            transform: translateY(-50%) scale(1.03);
        }

        body.pn-page-landing .arrow-btn[hidden]{ display: none; }

        body.pn-page-landing .cards{
            position: absolute;
            left: 50%;
            bottom: -50px;
            z-index: 20;
            width: min(70%, 700px);
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
            padding: 0;
            background: transparent;
            border: 0;
            box-shadow: none;
            transform: translateX(-50%);
        }

        body.pn-page-landing .card{
            min-width: 0;
            min-height: 122px;
            padding: 12px 11px 10px;
            text-align: left;
            background: rgba(30, 37, 48, .97);
            border: 1px solid #3a3a3a;
            border-radius: 0;
            box-shadow: 0 9px 24px rgba(0, 0, 0, .40);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }

        body.pn-page-landing .card + .card{ border-left: 1px solid #3a3a3a; }

        body.pn-page-landing .card-title{
            margin-bottom: 6px;
            color: var(--accent);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        body.pn-page-landing .card-desc{
            min-height: 2.65em;
            margin-bottom: 6px;
            color: var(--muted);
            font-size: 10.5px;
            line-height: 1.38;
        }

        body.pn-page-landing .card-features{ list-style: none; }

        body.pn-page-landing .card-features li{
            display: flex;
            align-items: center;
            gap: 5px;
            margin-bottom: 3px;
            color: var(--text);
            font-size: 10px;
            line-height: 1.25;
            white-space: nowrap;
        }

        body.pn-page-landing .card-features li::before{
            content: "✓";
            flex: 0 0 auto;
            color: var(--accent);
            font-weight: 700;
        }

        body.pn-page-landing .card-features li.soon{
            color: var(--muted);
            opacity: .55;
        }

        body.pn-page-landing .card-features li.soon::before{
            content: "-";
            color: var(--muted);
        }

        body.pn-page-landing .card-features li .soon-tag{
            margin-left: auto;
            padding: 1px 4px;
            color: var(--yellow);
            border: 1px solid rgba(234, 179, 8, .30);
            border-radius: 2px;
            font-size: 7px;
            font-weight: 700;
        }

        body.pn-page-landing .cta-wrap{
            position: absolute;
            left: 50%;
            bottom: 44px;
            z-index: 35;
            transform: translateX(-50%);
        }

        body.pn-page-landing #bottombar{
            position: fixed;
            inset: auto 0 0;
            z-index: 100;
            height: var(--footer-h);
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            padding: 0 16px;
            background: var(--footer);
            border-top: 1px solid var(--border);
        }

        body.pn-page-landing .bar-status,
body.pn-page-landing .bar-version,
body.pn-page-landing .bar-clock{
            color: #666;
            font-size: 10px;
        }

        body.pn-page-landing .bar-status{ grid-column: 2; justify-self: center; }
        body.pn-page-landing .bar-version{ grid-column: 3; justify-self: end; }

        body.pn-page-landing .bar-status a{
            color: #666;
            text-decoration: none;
        }

        body.pn-page-landing .bar-status a:hover{ color: var(--muted); }
        body.pn-page-landing .bar-clock{ display: none; }

        @media (max-height: 820px) and (min-width: 761px) {
            body.pn-page-landing .page-header{
                top: 30px;
            }

            body.pn-page-landing #slideshow-container{
                top: 88px;
                height: min(58vh, calc(100% - 250px));
            }

            body.pn-page-landing .cards{
                bottom: -47px;
            }

            body.pn-page-landing .card{
                min-height: 108px;
                padding-top: 9px;
                padding-bottom: 8px;
            }

            body.pn-page-landing .card-desc{
                margin-bottom: 4px;
            }

            body.pn-page-landing .cta-wrap{
                bottom: 31px;
            }
        }

        @media (max-width: 1000px) and (min-width: 761px) {
            body.pn-page-landing #slideshow-container{
                width: 86vw;
            }

            body.pn-page-landing .cards{
                width: min(78%, 680px);
                gap: 12px;
            }

            body.pn-page-landing .card-features li{
                font-size: 9px;
            }
        }

        @media (max-width: 760px) {
            html.pn-page-landing-root,
body.pn-page-landing{
                height: auto;
                min-height: 100%;
                overflow-x: hidden;
                overflow-y: auto;
            }

            body.pn-page-landing #topbar{
                padding: 0 12px;
            }

            body.pn-page-landing .logo-img-top{
                height: 31px;
            }

            body.pn-page-landing .btn-login{
                min-width: 75px;
                height: 32px;
                padding: 0 13px;
                font-size: 11px;
            }

            body.pn-page-landing #main-container{
                position: relative;
                inset: auto;
                display: flex;
                flex-direction: column;
                gap: 14px;
                min-height: 100vh;
                margin-top: var(--topbar-h);
                padding: 28px 14px 22px;
            }

            body.pn-page-landing .page-header{
                position: relative;
                top: auto;
                left: auto;
                width: 100%;
                padding: 0 5px;
                transform: none;
            }

            body.pn-page-landing .eyebrow{
                margin-bottom: 6px;
            }

            body.pn-page-landing h1{
                font-size: clamp(1.85rem, 9vw, 2.35rem);
            }

            body.pn-page-landing .page-sub{
                font-size: .80rem;
            }

            body.pn-page-landing #slideshow-container{
                position: relative;
                top: auto;
                left: auto;
                width: 100%;
                height: auto;
                min-height: 0;
                display: flex;
                flex-direction: column;
                transform: none;
            }

            body.pn-page-landing .slides-wrapper{
                position: relative;
                inset: auto;
                width: 100%;
                height: min(58vh, 470px);
                min-height: 340px;
                flex: 0 0 auto;
            }

            body.pn-page-landing #hero{
                transform: scale(1.18);
            }

            body.pn-page-landing .arrow-btn{
                display: none !important;
            }

            body.pn-page-landing .cards{
                position: relative;
                left: auto;
                bottom: auto;
                width: 100%;
                grid-template-columns: 1fr;
                gap: 10px;
                margin-top: 14px;
                transform: none;
            }

            body.pn-page-landing .card{
                min-height: 0;
            }

            body.pn-page-landing .card-desc{
                min-height: 0;
            }

            body.pn-page-landing .card-features li{
                font-size: 10px;
            }

            body.pn-page-landing .cta-wrap{
                position: relative;
                left: auto;
                bottom: auto;
                margin: 2px auto 5px;
                transform: none;
            }

            body.pn-page-landing #bottombar{
                position: relative;
                inset: auto;
                min-height: var(--footer-h);
            }

            body.pn-page-landing .bar-status{ grid-column: 1 / -1; justify-self: center; }
            body.pn-page-landing .bar-version{ display: none; }
        }

        @media (max-width: 460px) {
            body.pn-page-landing .arrow-btn{
                width: 36px;
                height: 36px;
            }

            body.pn-page-landing .arrow-btn.prev{ left: 10px; }
            body.pn-page-landing .arrow-btn.next{ right: 10px; }

            body.pn-page-landing .bar-version{ display: none; }
        }


html.pn-page-privacy-root,
html.pn-page-privacy-root *,
html.pn-page-privacy-root::before,
html.pn-page-privacy-root *::before,
html.pn-page-privacy-root::after,
html.pn-page-privacy-root *::after{ margin: 0; padding: 0; box-sizing: border-box; }
        html.pn-page-privacy-root{
            --bg: #1a1a1a;
            --bar: #1e2530;
            --surface: #242424;
            --border: #3a3a3a;
            --accent: #4a88c0;
            --accent-hover: #5a98d0;
            --text: #e8e8e8;
            --text-secondary: #a0a0a0;
            --muted: #666;
            --topbar-h: 44px;
            --footer-h: 28px;
        }
        html.pn-page-privacy-root,
body.pn-page-privacy{
            height: 100%;
            background: var(--bg);
            color: var(--text);
            font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 18px;
        }
        body.pn-page-privacy #topbar{
            position: fixed;
            top: 0; left: 0; right: 0;
            height: var(--topbar-h);
            z-index: 100;
            background: var(--bar);
            border-bottom: 1px solid var(--border);
            padding: 0 16px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        body.pn-page-privacy .topbar-left{ display: flex; align-items: center; gap: 12px; }
        body.pn-page-privacy .logo-img{
            height: 28px;
            filter: invert(1) brightness(1.6);
            opacity: .95;
        }
        body.pn-page-privacy .topbar-title{
            display: none;
        }
        body.pn-page-privacy .logo-text{
            height: 28px;
            width: auto;
            opacity: 0.95;
            margin-left: 2px;
            display: block;
            filter: invert(1) brightness(1.6);
        }
        body.pn-page-privacy .nav-right{ display: flex; align-items: center; gap: 16px; }
        body.pn-page-privacy .nav-back{
            display: inline-flex;
            align-items: center;
            height: 30px;
            padding: 0 12px;
            font-size: 11px;
            font-weight: 600;
            text-decoration: none;
            color: var(--text-secondary);
            text-transform: uppercase;
            letter-spacing: .04em;
            border: 1px solid var(--border);
            background: transparent;
            transition: color .15s, border-color .15s, background .15s;
            white-space: nowrap;
        }
        body.pn-page-privacy .nav-back:hover{
            color: var(--text);
            border-color: var(--border-light, #444);
            background: var(--surface);
        }
        body.pn-page-privacy .btn-login{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: .05em;
            text-decoration: none;
            padding: 0 16px;
            height: 30px;
            background: var(--accent);
            color: #fff;
            border: 1px solid var(--accent);
            transition: background .15s, border-color .15s;
        }
        body.pn-page-privacy .btn-login:hover{
            background: var(--accent-hover);
            border-color: var(--accent-hover);
        }
        body.pn-page-privacy main{
            position: fixed;
            inset: var(--topbar-h) 0 var(--footer-h);
            overflow-y: auto;
            padding: 28px 20px;
        }
        body.pn-page-privacy .legal-wrap{
            width: min(880px, 100%);
            margin: 0 auto;
        }
        body.pn-page-privacy .legal-head{
            margin-bottom: 20px;
            padding-bottom: 16px;
            border-bottom: 1px solid var(--border);
        }
        body.pn-page-privacy .eyebrow{
            display: inline-block;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: .2em;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 8px;
        }
        body.pn-page-privacy .legal-head h1{
            font-size: 1.7rem;
            font-weight: 700;
            color: #fff;
            letter-spacing: -.02em;
        }
        body.pn-page-privacy .legal-body{
            background: var(--surface);
            border: 1px solid var(--border);
            padding: 24px 26px;
            margin-bottom: 20px;
            overflow-wrap: break-word;
        }
        body.pn-page-privacy .legal-body h1{
            font-size: 1.35rem;
            font-weight: 700;
            color: #fff;
            margin: 0 0 14px;
            padding-bottom: 8px;
            border-bottom: 1px solid var(--border);
        }
        body.pn-page-privacy .legal-body h2{
            font-size: 1rem;
            font-weight: 700;
            color: var(--accent);
            text-transform: uppercase;
            letter-spacing: .06em;
            margin: 20px 0 8px;
        }
        body.pn-page-privacy .legal-body h3{
            font-size: .88rem;
            font-weight: 700;
            color: var(--text);
            margin: 14px 0 6px;
        }
        body.pn-page-privacy .legal-body h4{
            font-size: .82rem;
            font-weight: 700;
            color: var(--text-secondary);
            margin: 10px 0 4px;
        }
        body.pn-page-privacy .legal-body p{
            font-size: .82rem;
            line-height: 1.7;
            color: #c7d0dc;
            margin-bottom: 10px;
        }
        body.pn-page-privacy .legal-body ul{
            margin: 6px 0 12px 18px;
        }
        body.pn-page-privacy .legal-body li{
            font-size: .82rem;
            line-height: 1.65;
            color: #c7d0dc;
            margin-bottom: 3px;
        }
        body.pn-page-privacy .legal-body strong{ color: var(--text); }
        body.pn-page-privacy .legal-body em{ color: var(--text-secondary); font-style: italic; }
        body.pn-page-privacy .legal-body code{
            font-family: Consolas, Monaco, monospace;
            font-size: .8rem;
            color: #9fc3e6;
            background: #0d1117;
            border: 1px solid var(--border);
            padding: 1px 4px;
            word-break: break-word;
            white-space: pre-wrap;
        }
        body.pn-page-privacy .legal-body a{
            color: var(--accent);
            text-decoration: none;
        }
        body.pn-page-privacy .legal-body a:hover{ text-decoration: underline; }
        body.pn-page-privacy .legal-body hr{
            border: none;
            border-top: 1px solid var(--border);
            margin: 18px 0;
        }
        body.pn-page-privacy .legal-actions{
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        body.pn-page-privacy .btn-outline{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0 20px;
            height: 30px;
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .08em;
            text-decoration: none;
            color: var(--accent);
            border: 1px solid var(--accent);
            background: transparent;
            transition: background .15s, color .15s;
        }
        body.pn-page-privacy .btn-outline:hover{
            background: var(--accent);
            color: #fff;
        }


html.pn-page-third-root,
html.pn-page-third-root *,
html.pn-page-third-root::before,
html.pn-page-third-root *::before,
html.pn-page-third-root::after,
html.pn-page-third-root *::after{ margin: 0; padding: 0; box-sizing: border-box; }
        html.pn-page-third-root{
            --bg: #1a1a1a;
            --bar: #1e2530;
            --surface: #242424;
            --border: #3a3a3a;
            --accent: #4a88c0;
            --accent-hover: #5a98d0;
            --text: #e8e8e8;
            --text-secondary: #a0a0a0;
            --muted: #666;
            --topbar-h: 44px;
            --footer-h: 28px;
        }
        html.pn-page-third-root,
body.pn-page-third{
            height: 100%;
            background: var(--bg);
            color: var(--text);
            font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 18px;
        }
        body.pn-page-third #topbar{
            position: fixed;
            top: 0; left: 0; right: 0;
            height: var(--topbar-h);
            z-index: 100;
            background: var(--bar);
            border-bottom: 1px solid var(--border);
            padding: 0 16px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        body.pn-page-third .topbar-left{ display: flex; align-items: center; gap: 12px; }
        body.pn-page-third .logo-img{
            height: 28px;
            filter: invert(1) brightness(1.6);
            opacity: .95;
        }
        body.pn-page-third .topbar-title{
            display: none;
        }
        body.pn-page-third .logo-text{
            height: 28px;
            width: auto;
            opacity: 0.95;
            margin-left: 2px;
            display: block;
            filter: invert(1) brightness(1.6);
        }
        body.pn-page-third .nav-right{ display: flex; align-items: center; gap: 16px; }
        body.pn-page-third .nav-back{
            display: inline-flex;
            align-items: center;
            height: 30px;
            padding: 0 12px;
            font-size: 11px;
            font-weight: 600;
            text-decoration: none;
            color: var(--text-secondary);
            text-transform: uppercase;
            letter-spacing: .04em;
            border: 1px solid var(--border);
            background: transparent;
            transition: color .15s, border-color .15s, background .15s;
            white-space: nowrap;
        }
        body.pn-page-third .nav-back:hover{
            color: var(--text);
            border-color: var(--border-light, #444);
            background: var(--surface);
        }
        body.pn-page-third .btn-login{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: .05em;
            text-decoration: none;
            padding: 0 16px;
            height: 30px;
            background: var(--accent);
            color: #fff;
            border: 1px solid var(--accent);
            transition: background .15s, border-color .15s;
        }
        body.pn-page-third .btn-login:hover{
            background: var(--accent-hover);
            border-color: var(--accent-hover);
        }
        body.pn-page-third main{
            position: fixed;
            inset: var(--topbar-h) 0 var(--footer-h);
            overflow-y: auto;
            padding: 28px 20px;
        }
        body.pn-page-third .legal-wrap{
            width: min(880px, 100%);
            margin: 0 auto;
        }
        body.pn-page-third .legal-head{
            margin-bottom: 20px;
            padding-bottom: 16px;
            border-bottom: 1px solid var(--border);
        }
        body.pn-page-third .eyebrow{
            display: inline-block;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: .2em;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 8px;
        }
        body.pn-page-third .legal-head h1{
            font-size: 1.7rem;
            font-weight: 700;
            color: #fff;
            letter-spacing: -.02em;
        }
        body.pn-page-third .legal-body{
            background: var(--surface);
            border: 1px solid var(--border);
            padding: 24px 26px;
            margin-bottom: 20px;
            overflow-wrap: break-word;
        }
        body.pn-page-third .legal-body h1{
            font-size: 1.35rem;
            font-weight: 700;
            color: #fff;
            margin: 0 0 14px;
            padding-bottom: 8px;
            border-bottom: 1px solid var(--border);
        }
        body.pn-page-third .legal-body h2{
            font-size: 1rem;
            font-weight: 700;
            color: var(--accent);
            text-transform: uppercase;
            letter-spacing: .06em;
            margin: 20px 0 8px;
        }
        body.pn-page-third .legal-body h3{
            font-size: .88rem;
            font-weight: 700;
            color: var(--text);
            margin: 14px 0 6px;
        }
        body.pn-page-third .legal-body h4{
            font-size: .82rem;
            font-weight: 700;
            color: var(--text-secondary);
            margin: 10px 0 4px;
        }
        body.pn-page-third .legal-body p{
            font-size: .82rem;
            line-height: 1.7;
            color: #c7d0dc;
            margin-bottom: 10px;
        }
        body.pn-page-third .legal-body ul{
            margin: 6px 0 12px 18px;
        }
        body.pn-page-third .legal-body li{
            font-size: .82rem;
            line-height: 1.65;
            color: #c7d0dc;
            margin-bottom: 3px;
        }
        body.pn-page-third .legal-body strong{ color: var(--text); }
        body.pn-page-third .legal-body em{ color: var(--text-secondary); font-style: italic; }
        body.pn-page-third .legal-body code{
            font-family: Consolas, Monaco, monospace;
            font-size: .8rem;
            color: #9fc3e6;
            background: #0d1117;
            border: 1px solid var(--border);
            padding: 1px 4px;
            word-break: break-word;
            white-space: pre-wrap;
        }
        body.pn-page-third .legal-body a{
            color: var(--accent);
            text-decoration: none;
        }
        body.pn-page-third .legal-body a:hover{ text-decoration: underline; }
        body.pn-page-third .legal-body hr{
            border: none;
            border-top: 1px solid var(--border);
            margin: 18px 0;
        }
        body.pn-page-third .legal-actions{
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        body.pn-page-third .btn-outline{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0 20px;
            height: 30px;
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .08em;
            text-decoration: none;
            color: var(--accent);
            border: 1px solid var(--accent);
            background: transparent;
            transition: background .15s, color .15s;
        }
        body.pn-page-third .btn-outline:hover{
            background: var(--accent);
            color: #fff;
        }


body.pn-page-reports .reports-layout{
            display: grid;
            grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
            gap: 8px;
            padding: 8px;
            flex: 1;
            overflow: hidden;
        }
        body.pn-page-reports .reports-layout.list-collapsed{
            grid-template-columns: 30px minmax(0, 1fr);
        }
        body.pn-page-reports .reports-collapse-btn{
            position: absolute;
            right: 6px;
            top: 4px;
            width: 22px;
            height: 22px;
            padding: 0;
            background: var(--bg-surface-alt);
            border: 1px solid var(--border);
            border-radius: 3px;
            color: var(--text-secondary);
            font: 700 12px/1 "Segoe UI", Arial, sans-serif;
            cursor: pointer;
        }
        body.pn-page-reports .reports-collapse-btn:hover{
            background: var(--bg-selected);
            border-color: var(--border-focus);
        }
        body.pn-page-reports .reports-expand-rail{ display: none; }
        body.pn-page-reports .reports-layout.list-collapsed .reports-list-panel > *{ display: none; }
        body.pn-page-reports .reports-layout.list-collapsed .reports-list-panel > .reports-expand-rail{
            display: flex;
            align-items: flex-start;
            justify-content: center;
            width: 100%;
            height: 100%;
            padding: 6px 0 0;
            background: transparent;
            border: 0;
            color: var(--text-secondary);
            font: 700 14px/1 "Segoe UI", Arial, sans-serif;
            cursor: pointer;
        }
        body.pn-page-reports .reports-layout.list-collapsed .reports-list-panel > .reports-expand-rail:hover{
            background: var(--bg-selected);
            color: var(--text-primary);
        }
        body.pn-page-reports .report-zoom{
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }
        body.pn-page-reports .report-zoom .btn{ min-width: 26px; padding: 2px 6px; }
        body.pn-page-reports #reportZoomValue{
            min-width: 34px;
            text-align: center;
            color: var(--text-muted);
            font-size: 10px;
            font-weight: 700;
        }

        body.pn-page-reports .reports-filter-row{
            display: flex;
            align-items: center;
            gap: 8px;
            height: 31px;
            flex: none;
            padding: 0 8px;
            border-bottom: 1px solid var(--border);
            background: var(--bg-body);
        }
        body.pn-page-reports .reports-filter-row label{
            font-size: 10px;
            font-weight: 700;
            letter-spacing: .05em;
            color: var(--text-secondary);
        }
        body.pn-page-reports .reports-filter-row .form-input{
            height: 24px;
            padding: 2px 6px;
            font-size: 11px;
            width: auto;
        }

        body.pn-page-reports .reports-list{
            overflow-y: auto;
        }

        body.pn-page-reports .report-item{
            padding: var(--space-md) 10px var(--space-md) 7px;
            border-bottom: 1px solid var(--border);
            border-left: 3px solid transparent;
            cursor: pointer;
        }

        body.pn-page-reports .report-item:hover{
            background: var(--bg-surface-alt);
        }

        body.pn-page-reports .report-item.selected{
            background: var(--bg-selected);
            border-left-color: var(--status-blue);
        }

        body.pn-page-reports .report-title{
            font-weight: 600;
            color: var(--text-primary);
            margin-bottom: var(--space-xs);
        }

        body.pn-page-reports .report-meta{
            font-size: 10px;
            color: var(--text-muted);
        }

        body.pn-page-reports .report-view{
            overflow-y: auto;
            padding: var(--space-lg);
        }

        body.pn-page-reports .report-header{
            margin-bottom: var(--space-lg);
            padding-bottom: var(--space-md);
            border-bottom: 1px solid var(--border);
        }

        body.pn-page-reports .report-header-title{
            font-size: 18px;
            font-weight: 700;
            color: var(--text-primary);
            margin-bottom: var(--space-sm);
        }

        body.pn-page-reports .report-content{
            white-space: pre-wrap;
            font-size: 13px;
            color: #000;
            line-height: 1.6;
            background: #fff;
            padding: var(--space-md);
            border: 1px solid #999;
        }

        body.pn-page-reports .paper-report{
            background: #fff;
            color: #000;
            max-width: 800px;
            margin: 0 auto;
            padding: 40px 50px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
            font-family: "Times New Roman", Times, serif;
            min-height: 1000px;
        }

        body.pn-page-reports .paper-header{
            text-align: center;
            border-bottom: 3px double #000;
            padding-bottom: 20px;
            margin-bottom: 20px;
        }

        body.pn-page-reports .paper-department{
            font-size: 24px;
            font-weight: bold;
            letter-spacing: 2px;
        }

        body.pn-page-reports .paper-title{
            font-size: 18px;
            font-weight: bold;
            margin-top: 10px;
            text-transform: uppercase;
        }

        body.pn-page-reports .paper-case{
            font-size: 14px;
            margin-top: 5px;
        }

        body.pn-page-reports .paper-grid{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px 30px;
            margin: 20px 0;
            padding: 15px;
            border: 1px solid #000;
        }

        body.pn-page-reports .paper-field{
            display: flex;
            flex-direction: column;
        }

        body.pn-page-reports .paper-field-label{
            font-size: 10px;
            font-weight: bold;
            text-transform: uppercase;
            color: #333;
        }

        body.pn-page-reports .paper-field-value{
            font-size: 14px;
            border-bottom: 1px solid #666;
            padding: 2px 0;
            min-height: 20px;
        }

        body.pn-page-reports .paper-section{
            margin: 25px 0;
        }

        body.pn-page-reports .paper-section-title{
            font-size: 12px;
            font-weight: bold;
            text-transform: uppercase;
            border-bottom: 1px solid #000;
            padding-bottom: 5px;
            margin-bottom: 10px;
        }

        body.pn-page-reports .paper-narrative{
            font-size: 13px;
            line-height: 1.8;
            text-align: justify;
            white-space: pre-wrap;
        }

        body.pn-page-reports .paper-signature{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            margin-top: 50px;
            padding-top: 30px;
            border-top: 1px solid #000;
        }

        body.pn-page-reports .paper-sig-line{
            border-top: 1px solid #000;
            padding-top: 5px;
            font-size: 10px;
            text-transform: uppercase;
        }

        body.pn-page-reports .paper-stamp{
            position: absolute;
            top: 50px;
            right: 50px;
            border: 3px solid;
            padding: 8px 15px;
            font-weight: bold;
            font-size: 18px;
            transform: rotate(-15deg);
            opacity: 0.7;
        }

        body.pn-page-reports .paper-stamp.approved{
            color: green;
            border-color: green;
        }

        body.pn-page-reports .paper-stamp.rejected{
            color: red;
            border-color: red;
        }

        .paper-input{
            border: none;
            border-bottom: 1px solid #999;
            background: rgba(255, 255, 255, 0.5);
            width: 100%;
            font-family: "Times New Roman", Times, serif;
            font-size: 14px;
            padding: 4px;
            color: #000;
        }

        body.pn-page-reports .paper-input:focus{
            outline: none;
            border-bottom: 2px solid #000;
            background: rgba(200, 230, 255, 0.2);
        }

        body.pn-page-reports .paper-select{
            border: none;
            border-bottom: 1px solid #999;
            background: transparent;
            font-family: "Times New Roman", Times, serif;
            font-size: 14px;
            font-weight: bold;
            color: #000;
            padding: 4px;
        }

        body.pn-page-reports .paper-textarea{
            width: 100%;
            border: 1px solid #ddd;
            background: #fafafa;
            min-height: 300px;
            padding: 15px;
            font-family: "Times New Roman", Times, serif;
            font-size: 14px;
            line-height: 1.6;
            resize: vertical;
            color: #000;
        }

        body.pn-app.pn-page-reports .nav-tabs{
            display: flex;
            flex-wrap: wrap;
            background: var(--bg-body);
            border-bottom: 1px solid var(--border);
            position: relative;
            padding-right: 34px;
        }

        body.pn-app.pn-page-reports .nav-tab{
            background: transparent;
            border: none;
            color: var(--text-secondary);
            padding: var(--space-sm) 10px;
            font-family: inherit;
            font-size: 11px;
            font-weight: 600;
            cursor: pointer;
            border-bottom: 2px solid transparent;
            white-space: nowrap;
            flex: 0 0 auto;
            text-decoration: none;
        }

        body.pn-app.pn-page-reports .nav-tab:hover{
            color: var(--text-primary);
        }

        body.pn-app.pn-page-reports .nav-tab.active{
            color: var(--status-blue);
            border-bottom-color: var(--status-blue);
        }



        body.pn-page-reports .approval-box{
            background: var(--bg-surface-alt);
            border: 1px solid var(--border);
            padding: var(--space-md);
            margin-top: var(--space-lg);
        }


html.pn-page-terms-root,
html.pn-page-terms-root *,
html.pn-page-terms-root::before,
html.pn-page-terms-root *::before,
html.pn-page-terms-root::after,
html.pn-page-terms-root *::after{ margin: 0; padding: 0; box-sizing: border-box; }
        html.pn-page-terms-root{
            --bg: #1a1a1a;
            --bar: #1e2530;
            --surface: #242424;
            --border: #3a3a3a;
            --accent: #4a88c0;
            --accent-hover: #5a98d0;
            --text: #e8e8e8;
            --text-secondary: #a0a0a0;
            --muted: #666;
            --topbar-h: 44px;
            --footer-h: 28px;
        }
        html.pn-page-terms-root,
body.pn-page-terms{
            height: 100%;
            background: var(--bg);
            color: var(--text);
            font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 18px;
        }
        body.pn-page-terms #topbar{
            position: fixed;
            top: 0; left: 0; right: 0;
            height: var(--topbar-h);
            z-index: 100;
            background: var(--bar);
            border-bottom: 1px solid var(--border);
            padding: 0 16px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        body.pn-page-terms .topbar-left{ display: flex; align-items: center; gap: 12px; }
        body.pn-page-terms .logo-img{
            height: 28px;
            filter: invert(1) brightness(1.6);
            opacity: .95;
        }
        body.pn-page-terms .topbar-title{
            display: none;
        }
        body.pn-page-terms .logo-text{
            height: 28px;
            width: auto;
            opacity: 0.95;
            margin-left: 2px;
            display: block;
            filter: invert(1) brightness(1.6);
        }
        body.pn-page-terms .nav-right{ display: flex; align-items: center; gap: 16px; }
        body.pn-page-terms .nav-back{
            display: inline-flex;
            align-items: center;
            height: 30px;
            padding: 0 12px;
            font-size: 11px;
            font-weight: 600;
            text-decoration: none;
            color: var(--text-secondary);
            text-transform: uppercase;
            letter-spacing: .04em;
            border: 1px solid var(--border);
            background: transparent;
            transition: color .15s, border-color .15s, background .15s;
            white-space: nowrap;
        }
        body.pn-page-terms .nav-back:hover{
            color: var(--text);
            border-color: var(--border-light, #444);
            background: var(--surface);
        }
        body.pn-page-terms .btn-login{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: .05em;
            text-decoration: none;
            padding: 0 16px;
            height: 30px;
            background: var(--accent);
            color: #fff;
            border: 1px solid var(--accent);
            transition: background .15s, border-color .15s;
        }
        body.pn-page-terms .btn-login:hover{
            background: var(--accent-hover);
            border-color: var(--accent-hover);
        }
        body.pn-page-terms main{
            position: fixed;
            inset: var(--topbar-h) 0 var(--footer-h);
            overflow-y: auto;
            padding: 28px 20px;
        }
        body.pn-page-terms .legal-wrap{
            width: min(880px, 100%);
            margin: 0 auto;
        }
        body.pn-page-terms .legal-head{
            margin-bottom: 20px;
            padding-bottom: 16px;
            border-bottom: 1px solid var(--border);
        }
        body.pn-page-terms .eyebrow{
            display: inline-block;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: .2em;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 8px;
        }
        body.pn-page-terms .legal-head h1{
            font-size: 1.7rem;
            font-weight: 700;
            color: #fff;
            letter-spacing: -.02em;
        }
        body.pn-page-terms .legal-body{
            background: var(--surface);
            border: 1px solid var(--border);
            padding: 24px 26px;
            margin-bottom: 20px;
            overflow-wrap: break-word;
        }
        body.pn-page-terms .legal-body h1{
            font-size: 1.35rem;
            font-weight: 700;
            color: #fff;
            margin: 0 0 14px;
            padding-bottom: 8px;
            border-bottom: 1px solid var(--border);
        }
        body.pn-page-terms .legal-body h2{
            font-size: 1rem;
            font-weight: 700;
            color: var(--accent);
            text-transform: uppercase;
            letter-spacing: .06em;
            margin: 20px 0 8px;
        }
        body.pn-page-terms .legal-body h3{
            font-size: .88rem;
            font-weight: 700;
            color: var(--text);
            margin: 14px 0 6px;
        }
        body.pn-page-terms .legal-body h4{
            font-size: .82rem;
            font-weight: 700;
            color: var(--text-secondary);
            margin: 10px 0 4px;
        }
        body.pn-page-terms .legal-body p{
            font-size: .82rem;
            line-height: 1.7;
            color: #c7d0dc;
            margin-bottom: 10px;
        }
        body.pn-page-terms .legal-body ul{
            margin: 6px 0 12px 18px;
        }
        body.pn-page-terms .legal-body li{
            font-size: .82rem;
            line-height: 1.65;
            color: #c7d0dc;
            margin-bottom: 3px;
        }
        body.pn-page-terms .legal-body strong{ color: var(--text); }
        body.pn-page-terms .legal-body em{ color: var(--text-secondary); font-style: italic; }
        body.pn-page-terms .legal-body code{
            font-family: Consolas, Monaco, monospace;
            font-size: .8rem;
            color: #9fc3e6;
            background: #0d1117;
            border: 1px solid var(--border);
            padding: 1px 4px;
            word-break: break-word;
            white-space: pre-wrap;
        }
        body.pn-page-terms .legal-body a{
            color: var(--accent);
            text-decoration: none;
        }
        body.pn-page-terms .legal-body a:hover{ text-decoration: underline; }
        body.pn-page-terms .legal-body hr{
            border: none;
            border-top: 1px solid var(--border);
            margin: 18px 0;
        }
        body.pn-page-terms .legal-actions{
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        body.pn-page-terms .btn-outline{
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0 20px;
            height: 30px;
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .08em;
            text-decoration: none;
            color: var(--accent);
            border: 1px solid var(--accent);
            background: transparent;
            transition: background .15s, color .15s;
        }
        body.pn-page-terms .btn-outline:hover{
            background: var(--accent);
            color: #fff;
        }

body[class] .pn-header-logo { height:28px;margin-left:2px;opacity:.95;filter:invert(1) brightness(1.6); }
body[class] .pn-auth-width-520 { width:min(520px,94vw); }
body[class] .pn-check-spacing-14 { margin:12px 0; }
body[class] .pn-legal-version { display:block;color:var(--text-muted); }
body[class] .pn-full-width { width:100%; }
body[class] .pn-content-width-720 { width:min(720px,100%);margin:0 auto; }
body[class] .pn-mt-6 { margin-top:6px; }
body[class] .pn-ml-6 { margin-left:6px; }
body[class] .pn-flex-1 { flex: 1; }
body[class] .pn-mt-8 { margin-top: 8px; }
body[class] .pn-mb-20 { margin-bottom: 20px; }
body[class] .pn-compat-civilian-06 { width: 100%; margin-top: 8px; }
body[class] .pn-compat-civilian-07 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
body[class] .pn-compat-contact-01 { align-items: center; text-align: center; }
body[class] .pn-compat-contact-02 { font-size: .9rem; color: var(--muted); margin-bottom: 18px; }
body[class] .pn-compat-contact-03 { font-size: .8rem; color: var(--muted-dark); margin-top: 22px; }
body[class] .pn-compat-contact-04 { font-size: 12px; }
body[class] .pn-compat-contact-05 { font-size: 18px; }
body[class] .pn-compat-contact-06 { font-size: 14px; }
body[class] .pn-compat-contact-07 { font-size: 14px; padding: 10px 18px; }
body[class] .pn-compat-history-01 { display: flex; gap: 8px; align-items: center; }
body[class] .pn-compat-history-02 { margin: 0; }
body[class] .pn-compat-history-03 { width: 150px; }
body[class] .pn-compat-history-04 { margin: 0 0 0 12px; }
body[class] .pn-compat-history-05 { width: 120px; }
body[class] .pn-compat-history-06 { background: var(--bg-body); font-weight: 600; color: var(--text-muted); font-size: 10px; cursor: default; }
body[class] .pn-compat-history-07 { font-size: 10px; }
body[class] .pn-mt-16 { margin-top: 16px; }
body[class] .pn-compat-history-08 { font-size: 12px; color: var(--text-secondary); }
body[class] .pn-compat-history-09 { font-size: 11px; }
body[class] .pn-compat-header-01 { height: 28px; margin-left: 2px; opacity: 0.95; filter: invert(1) brightness(1.6); }
body[class] .pn-compat-header-02 { width:14px; }
body[class] .pn-initially-hidden { display:none; }
body[class] .pn-compat-login-01 { margin-top:14px;text-align:center; }
body[class] .pn-compat-login-02 { color:var(--status-blue);font-size:12px;text-decoration:none; }
body[class] .pn-compat-platform-01 { margin-bottom:12px; }
body[class] .pn-compat-platform-02 { max-width:440px; }

body[class] .pn-compat-recovery-code-01 { margin:10px 0 18px; }
body[class] .pn-check-spacing-12 { margin:12px 0; }
body[class] .pn-compat-reports-01 { background: var(--bg-body); padding: 12px; }
body[class] .pn-row-between-center { display:flex; justify-content:space-between; align-items:center; }
body[class] .pn-compact-action { font-size:10px; padding:2px 6px; }
body[class] .pn-compact-action-offset { font-size:10px; padding:2px 6px; margin-left:5px; }
body[class] .pn-compat-reports-02 { font-family: inherit; }
body[class] .pn-grid-span-2 { grid-column: span 2; }
body[class] .pn-compat-reports-03 { min-height: 100px; }
body[class] .pn-compat-reports-04 { min-height: 80px; }
body[class] .pn-compat-reports-05 { margin-top: 30px; text-align: right; border-top: 2px solid #000; padding-top: 20px; }
body[class] .pn-compat-reports-06 { margin-left: 10px; }
body[class] .pn-compat-reports-07 { position: relative; }
body[class] .pn-compat-reports-08 { height: 28px; }
body[class] .pn-compat-reports-09 { margin-top: 30px; padding: 10px; border: 1px solid red; background: #fff0f0; }
body[class] .pn-compat-reports-10 { color: red; }
body[class] .pn-compat-reports-11 { margin: 20px auto 0; background: var(--bg-surface); padding: 20px; border: 1px solid var(--border); border-radius: 4px; }
body[class] .pn-compat-reports-12 { color: var(--text-primary); }
body[class] .pn-compat-reports-13 { margin-top: 12px; }
body[class] .pn-compat-reports-14 { display: flex; gap: 8px; }
body[class] .pn-compat-reports-15 { width: 480px; max-width:95%; }

body[class] .pn-compat-reports-17 { margin-top:10px; max-height:300px; overflow-y:auto; border:1px solid var(--border); background:var(--bg-body); }
body.pn-app .penal-filter-panel{ display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:8px; padding:8px 10px; max-height:120px; overflow-y:auto; border:1px solid var(--border); background:var(--bg-surface-alt); }
body.pn-app .penal-filter-panel[hidden]{ display:none; }
body.pn-app .penal-filter-option{ display:inline-flex; align-items:center; gap:6px; font-size:11px; color:var(--text-primary); cursor:pointer; }
body[class] .penal-search-box{ width: 880px; max-width: 95%; }
body[class] .penal-search-box .pn-compat-reports-17{ max-height: min(62vh, 640px); }
body[class] .penal-result-meta{ flex: 0 0 auto; margin-left: 12px; text-align: right; }
body[class] .pn-compat-reports-19 { width: 600px; max-width:95%; }
body[class] .pn-compat-reports-20 { margin-top:5px; font-size:11px; color:var(--text-muted); }
body[class] .pn-compat-reports-21 { margin-top:10px; max-height:400px; overflow-y:auto; border:1px solid var(--border); background:var(--bg-body); }
body[class] .pn-compat-reports-22 { display:flex; justify-content:space-between; }
body[class] .pn-muted-12 { font-size:12px; color:var(--text-muted); }
body[class] .pn-compat-reports-24 { color:var(--text-primary); font-weight:bold; }

body.pn-page-reports .pn-report-result-card {
    padding: 10px;
    border-bottom: 1px solid var(--border);
    cursor: pointer;
    background: var(--bg-surface);
}
body.pn-page-reports .pn-report-result-card:hover { background: var(--bg-surface-alt); }


body.pn-app select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


html.pn-app-root{ accent-color: var(--status-blue); color-scheme: var(--scheme, dark); }

body.pn-app select,
body.pn-app .toolbar-select,
body.pn-app .panel-select,
body.pn-app .compact-form select,
body.pn-app .radio-options select,
body.pn-app .radio-tone-row select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bg-input);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%238b97a3' stroke-width='1.5'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 28px;
}
body.pn-app select.form-input,
body.pn-app select.table-input,
body.pn-app .community-admin-page .panel-title-tools select{
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%238b97a3' stroke-width='1.5'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 28px;
}

body.pn-app input[type=date],
body.pn-app input[type=number]{
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;
    background-color: var(--bg-input);
    border: 1px solid var(--border);
    border-radius: 2px;
    color: var(--text-primary);
}
body.pn-app input[type=date]:focus,
body.pn-app input[type=number]:focus{
    border-color: var(--border-focus);
}
body.pn-app input[type=number]::-webkit-inner-spin-button,
body.pn-app input[type=number]::-webkit-outer-spin-button{
    -webkit-appearance: none;
    margin: 0;
}
body.pn-app input[type=date]::-webkit-calendar-picker-indicator{
    cursor: pointer;
    opacity: .7;
    filter: invert(0.85);
}
body.pn-app input[type=date]::-webkit-calendar-picker-indicator:hover{ opacity: 1; }
body.pn-app input::placeholder,
body.pn-app textarea::placeholder{
    color: var(--text-muted);
    opacity: 1;
}

body.pn-app .pn-truncate{
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.pn-app .pn-wrap-anywhere{
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.pn-app .header-meta-value{
    max-width: 22ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.pn-app .roster-name{
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.pn-app .cad-call-type,
body.pn-app .cad-call-location{
    overflow-wrap: anywhere;
}
body.pn-app .return-payload{
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

body:not(.pn-app) .platenet-footer{ position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; }
body:not(.pn-app){ padding-bottom: 28px; }
.platenet-public-footer{ grid-template-columns: 1fr !important; justify-items: center; }
.platenet-public-footer .platenet-footer-center{ grid-column: 1 / -1; justify-content: center; }

body.pn-app .v5-content{ max-width: none; padding: 8px 10px 10px; }
body.pn-app .query-combined,
body.pn-app .bolo-layout-v565{ max-width: none; }
body.pn-app .toolbar{
    margin: 8px 10px 0;
    border: 1px solid var(--border);
    border-bottom: 2px solid var(--border);
}

body.pn-app .cad-call-type{ font-size: 13px; }
body.pn-app .cad-call-location{ font-size: 12px; }
body.pn-app .cad-call-meta{ font-size: 11px; color: var(--text-secondary); }
body.pn-app .detail-row{ font-size: 12px; }
body.pn-app .detail-row > strong{ font-size: 11px; }
body.pn-app .note{ font-size: 11px; }
body.pn-app .compact-form label{ font-size: 11px; }
body.pn-app .field-help{ font-size: 11px; }
body.pn-app .return-detail-meta{ font-size: 13px; }
body.pn-app .return-detail-meta span{ font-size: 11px; }
body.pn-app .return-payload{ font-size: 12px; line-height: 1.6; }
body.pn-app .return-payload::first-line{ color: var(--text-white); font-weight: 700; }
body.pn-app .query-mini-return strong{ font-size: 11px; }
body.pn-app .query-mini-return small{ font-size: 10px; }
body.pn-app .return-history-item strong{ font-size: 11px; }
body.pn-app .return-history-item small{ font-size: 10px; }
body.pn-app .query-flag{ font-size: 10px; }
body.pn-app .record-tool label{ font-size: 10px; }
body.pn-app .person-record-summary > span{ font-size: 11px; }
body.pn-app .query-bolo-summary p{ font-size: 11px; }

.pn-field-warning{
    position: fixed;
    z-index: 10002;
    max-width: 280px;
    padding: 5px 9px;
    background: var(--bg-alarm);
    border: 1px solid var(--badge-red-b);
    color: var(--badge-red-t);
    font: 600 11px/1.35 "Segoe UI", Arial, sans-serif;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s ease;
}
.pn-field-warning.visible{ opacity: 1; }


body.pn-app .query-workspace{
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    grid-template-columns: none;
    gap: 8px;
    padding: 8px;
    overflow: hidden;
}
body.pn-app .query-top-row{
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .45fr);
    gap: 8px;
    min-height: 0;
}
body.pn-app .query-return-body{
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow: hidden;
    padding: 8px !important;
}
body.pn-app .query-record-left{
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0;
}
body.pn-app .return-action-row{ position: static; flex: 0 0 auto; padding: 0; }
body.pn-app .return-detail-meta{ flex: 0 0 auto; }
body.pn-app .return-payload{ flex: 1 1 auto; min-height: 100px; max-height: none; margin: 0; }
body.pn-app .query-sub-grid{
    flex: 0 0 300px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    min-height: 0;
}
body.pn-app .query-sub-box{
    display: flex;
    flex-direction: column;
    min-height: 0;
    border: 1px solid var(--border);
    background: var(--bg-surface-alt);
}
body.pn-app .query-sub-box > .query-section-title{
    margin: 0;
    padding: 6px 8px;
    border-bottom: 1px solid var(--border);
    background: var(--bg-body);
}
body.pn-app .query-sub-scroll{ flex: 1; min-height: 0; overflow: auto; padding: 7px; }
body.pn-app .query-sub-box .note{ font-size: 10px; grid-template-columns: 52px 62px 1fr; }
body.pn-app .query-sub-footer{ flex: 0 0 auto; border-top: 1px solid var(--border); background: var(--bg-surface); }
body.pn-app .query-sub-footer .record-tool{ border: 0; background: transparent; margin: 0; padding: 7px; }
body.pn-app .query-sub-footer .record-tool textarea{ min-height: 34px; }
body.pn-app .query-tool-details > summary{ cursor: pointer; padding: 7px 8px; color: var(--text-muted); font-size: 10px; font-weight: 700; list-style-position: inside; }
body.pn-app .query-tool-details[open] > summary{ border-bottom: 1px solid var(--border); }
body.pn-app .query-history-body{ scrollbar-gutter: stable; }
body.pn-app .return-history-item{ padding-right: 26px; }
body.pn-app .record-tool .tool-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }

body.pn-app .query-match-list{ display: grid; gap: 6px; align-content: start; flex: 1; min-height: 0; overflow: auto; }
body.pn-app .query-match-form{ margin: 0; display: block; }
body.pn-app .query-match-item{
    display: grid;
    width: 100%;
    gap: 3px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    background: var(--bg-surface-alt);
    color: var(--text-primary);
    text-align: left;
    cursor: pointer;
    font: inherit;
    appearance: none;
}
body.pn-app .query-match-item:hover{ border-color: var(--border-focus); background: var(--bg-selected); }
body.pn-app .query-match-item strong{ font-size: 12px; color: var(--text-primary); }
body.pn-app .query-match-item span{ font-size: 11px; color: var(--text-secondary); }
body.pn-app .query-match-item .query-match-flags{ font-size: 10px; font-weight: 700; color: var(--badge-amber-t); }
body.pn-app .query-match-item.has-flags{ border-left: 3px solid var(--status-amber); }

body.pn-app button.query-mini-return{
    width: 100%;
    text-align: left;
    cursor: pointer;
    font: inherit;
    appearance: none;
}
body.pn-app .query-mini-return.active{ border-color: var(--border-focus); background: var(--bg-selected); }
body.pn-app .flagged-subject-list{ display: grid; gap: 4px; margin-bottom: 8px; }
body.pn-app .bolo-person-lookup .bolo-lookup-hint{ margin-bottom: 8px; }
body.pn-app #boloSubjectClear{ margin-top: 6px; }

body.pn-app .bolo-card-head > strong{ font-size: 13px; }
body.pn-app .bolo-card-head > small{ font-size: 10px; color: var(--text-secondary); }
body.pn-app .bolo-card-v564 p{ font-size: 12px; }
body.pn-app .bolo-location,
body.pn-app .bolo-person-link{ font-size: 11px; color: var(--text-secondary); }
body.pn-app .bolo-footer{ font-size: 10px; color: var(--text-secondary); }
body.pn-app .bolo-card-v564 .v5-muted,
body.pn-app .query-bolo-summary small{ color: var(--text-secondary); }

body.pn-page-history .history-row{ grid-template-columns: 90px 56px minmax(0, 1fr) minmax(90px, 130px) minmax(96px, 150px); }
body.pn-page-history .history-row > div{ min-width: 0; overflow-wrap: anywhere; }
body.pn-page-history .history-row > div:last-child{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: normal;
}


@media (max-width: 1200px){
    body.pn-app .query-top-row{
        grid-template-columns: 1fr;
        grid-template-rows: minmax(300px, 1.4fr) minmax(170px, .6fr);
    }
}
@media (max-width: 1000px){
    body.pn-app .query-top-row{ display: block; }
}



body.pn-app .current-call-banner{
    background: var(--strip-call-bg);
    border-bottom: 1px solid var(--strip-call-border);
    box-shadow: inset 3px 0 0 var(--strip-call-stripe);
}

body.pn-app .note{
    grid-template-columns: 42px minmax(56px, 90px) minmax(0, 1fr);
    gap: 4px 9px;
    align-items: start;
}
body.pn-app .note > span,
body.pn-app .note > strong{ min-width: 0; overflow-wrap: anywhere; }
body.pn-app .note > strong{ color: var(--text-secondary); }

body.pn-app .unit-identity{ display: flex; align-items: baseline; gap: 7px; min-width: 0; }
body.pn-app .unit-identity strong{ color: var(--text-primary); font-size: 12px; white-space: nowrap; }
body.pn-app .unit-identity .roster-name{ color: var(--text-muted); font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.pn-app .unit-badges{ display: flex; gap: 4px; justify-self: end; }
body.pn-app .unit-list-row .status{ justify-self: end; white-space: nowrap; }
body.pn-app .unit-secondline{
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    white-space: nowrap;
}
body.pn-app .unit-secondline-main{
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.pn-app .unit-secondline .unit-stale{
    flex: 0 0 auto;
    margin-left: auto;
    text-align: right;
}


body.pn-app .query-bolo-summary{ margin-top: 4px; padding: 6px 7px; }
body.pn-app .query-bolo-summary p{ margin: 3px 0; font-size: 10px; }
body.pn-app .query-bolo-summary .v5-badge{ font-size: 9px; padding: 1px 5px; }

body.pn-app .bolo-layout-v565{ grid-template-columns: 330px minmax(0, 1fr) 290px; }
body.pn-app .bolo-flagged-panel{ min-height: 0; overflow: hidden; }
body.pn-app .bolo-subject-box input{ width: 100%; background: var(--bg-input); border: 1px solid var(--border); color: var(--text-primary); padding: 7px 8px; font: inherit; }
body.pn-app .bolo-subject-box input[readonly]{ color: var(--badge-blue-t); pointer-events: none; }
body.pn-app .bolo-subject-controls{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 7px; }
body.pn-app .bolo-subject-controls .bolo-import-returns{ margin-top: 0; }
body.pn-app .bolo-subject-controls .bolo-import-returns[open]{ flex-basis: 100%; }
body.pn-app .bolo-override{ display: inline-flex; align-items: center; gap: 6px; color: var(--text-secondary); font-size: 10px; text-transform: none; }
body.pn-app .bolo-import-returns{ margin-top: 8px; }
body.pn-app .bolo-import-returns > summary{ list-style: none; cursor: pointer; }
body.pn-app .bolo-import-returns > summary::-webkit-details-marker{ display: none; }
body.pn-app .bolo-import-returns[open] > summary{ margin-bottom: 6px; }
@media (max-width: 1250px){
    body.pn-app .bolo-layout-v565{ grid-template-columns: 330px minmax(0, 1fr); }
    body.pn-app .bolo-flagged-panel{ display: none; }
}

body.pn-app .radio-entry-body{ display: flex; flex-direction: column; overflow: hidden; flex: 1 1 auto; min-height: 0; }
body.pn-app .radio-entry-scroll{ flex: 1 1 auto; min-height: 0; overflow: auto; }
body.pn-app .radio-selected-channel,
body.pn-app .radio-options,
body.pn-app .radio-tone-row,
body.pn-app .radio-status-line,
body.pn-app #radioWaveform,
body.pn-app #radioAudio{ flex: 0 0 auto; }
body.pn-app .radio-compact-action{ flex: 0 0 auto; width: auto; min-width: 110px; }
body.pn-app #radioEntryStatus{ margin-left: 8px; }

body.pn-app input,
body.pn-app select,
body.pn-app textarea{ box-shadow: none; }
body.pn-app .btn,
body.pn-app .btn-new,
body.pn-app input,
body.pn-app select,
body.pn-app textarea,
body.pn-app .v5-badge,
body.pn-app .query-flag,
body.pn-app .status,
.pn-field-warning{ border-radius: 3px; }
body.pn-app .v5-panel,
body.pn-app .modal-box,
body.pn-app .record-tool,
body.pn-app .query-sub-box,
body.pn-app .query-mini-return,
body.pn-app .query-match-item,
body.pn-app .return-history-item,
body.pn-app .cad-call,
body.pn-app .unit-list-row,
body.pn-app .bolo-card-v564,
body.pn-app .flagged-subject,
body.pn-app .pn-dialog{ border-radius: 4px; }
body.pn-app .v5-panel{ overflow: hidden; }

body.pn-app .v5-badge{ max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.pn-app .btn{ max-width: 100%; }
body.pn-app .cad-call-type,
body.pn-app .cad-call-location,
body.pn-app .return-detail-meta,
body.pn-app .bolo-card-head > strong,
body.pn-app .query-mini-return strong,
body.pn-app .detail-row > span{ min-width: 0; overflow-wrap: anywhere; }
body.pn-app .cad-call-meta > span{ min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

body.pn-app .civ-content .form-input,
body.pn-app .civ-content select.form-input{ max-width: 420px; }
body.pn-app .civ-content textarea.form-input{ max-width: 640px; }



body.pn-app .panel-title-note,
body.pn-app .civ-nav-note{
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    align-self: center;
}
body.pn-app .civ-nav-note{ margin: 0 10px; }
body.pn-app .panel-title-note.is-success,
body.pn-app .civ-nav-note.is-success{ color: var(--notice-green); }
body.pn-app .panel-title-note.is-danger,
body.pn-app .civ-nav-note.is-danger{ color: var(--notice-red); }



body.pn-app .unit-callsign{
    color: var(--text-primary);
    font-weight: 700;
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.pn-app .unit-name{
    color: var(--text-muted);
    font-size: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.pn-app .unit-dept{ display: inline-flex; min-width: 0; }
body.pn-app .unit-dept .v5-badge{ max-width: 100%; }
body.pn-app .unit-sup{ display: inline-flex; min-width: 0; }
body.pn-app .unit-list-row .status{
    justify-self: end;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

body.pn-app .bolo-card-v564 p{ margin: 4px 0; font-size: 11px; line-height: 1.4; }
body.pn-app .bolo-card-head > strong{ font-size: 12px; }
body.pn-app .bolo-location,
body.pn-app .bolo-person-link{ padding: 2px 0; }
body.pn-app .bolo-ack-row{ display: flex; align-items: center; gap: 8px; padding: 2px 0; }
body.pn-app .bolo-footer{ padding-top: 5px; }

body.pn-app .bolo-lookup-status{ min-height: 26px; margin-top: 6px; }
body.pn-app .bolo-person-results{
    max-height: 340px;
    overflow: auto;
    margin-top: 0;
    border: 0;
    display: grid;
    gap: 6px;
    padding: 0;
    align-content: start;
}
body.pn-app .query-match-item.active{ border-color: var(--border-focus); background: var(--bg-selected); }

body.pn-app #boloSubjectClear{ margin-top: 0; }
body.pn-app #boloSubjectClear[hidden]{ display: inline-flex; visibility: hidden; }

body.pn-page-history .history-layout{ grid-template-columns: minmax(0, 1fr) 500px; }

body.pn-app .civ-content .form-section{ max-width: 720px; }



body.pn-app .current-call-banner.is-empty{ display: none; }


body.pn-app .bolo-person-lookup{ padding: 0; border: 0; background: transparent; }
body.pn-app .bolo-person-results{ background: var(--bg-body); }




body.pn-app .cad-call.is-pending{ background: var(--card-pending-bg); }
body.pn-app .cad-call-age{ white-space: nowrap; }

body.pn-app .unit-stale{ color: var(--text-amber); font-weight: 700; }

body.pn-app .record-link{ text-decoration: none; cursor: pointer; }
body.pn-app .record-link:hover{ border-color: var(--border-focus); color: var(--text-primary); }

body.pn-app .civ-emergency-status{
    height: 31px;
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
body.pn-app .civ-emergency-status.is-success{ color: var(--notice-green); }
body.pn-app .civ-emergency-status.is-wait{ color: var(--badge-amber-t); }

body.pn-app .civ-table-scroll{ max-height: 420px; overflow-y: auto; margin-bottom: 12px; }

body.pn-app .civ-primary-check{ display: flex; align-items: center; gap: 8px; min-height: 30px; margin: 0; font-size: 11px; font-weight: 600; }
body.pn-app .civ-primary-check input[type=checkbox]{ width: 20px; height: 20px; flex: none; }




body.pn-app .report-doc-actions{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:8px 12px; border-bottom:1px solid var(--border); background:var(--bg-body); }
body.pn-app .report-type-label{ font-size:10px; font-weight:700; color:var(--text-secondary); letter-spacing:.5px; }
body.pn-app .report-type-select{ min-width:240px; }
body.pn-app .report-view{ overflow:auto; }
body.pn-app .pn-report-doc{ margin:0 auto; }
body.pn-app .pn-review-block{ width:8.5in; max-width:100%; margin:12px auto 0; background:var(--bg-surface); border:1px solid var(--border); border-radius:4px; }
body.pn-app .pn-review-notes{ padding:10px; border:1px solid var(--border); background:var(--bg-surface-alt); color:var(--text-primary); white-space:pre-wrap; font-size:12px; }
body.pn-app .pn-review-identity{ margin-bottom:8px; font-size:12px; font-weight:700; color:var(--text-secondary); }
body.pn-app .pn-review-identity .v5-badge{ margin-right:4px; }

.pn-report-doc{
    --ink: #111;
    --muted: #4b4b4b;
    --line: #666;
    --light-line: #b9b9b9;
    --fill: #eceff2;
    --entry: #eaf1f8;
    --paper: #fff;
    --accent: #17233b;
    --screen-bg: #5f6469;
    --focus: #dfeeff;
    --danger: #7e1717;
    color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1.35;
    color-scheme: light;
}
.pn-report-doc.family-fire{ --accent: #6f1616; }
.pn-report-doc *{ box-sizing: border-box; }
.pn-report-doc button, .pn-report-doc input, .pn-report-doc select, .pn-report-doc textarea{ font: inherit; }
.pn-report-doc .official-report{width: 8.5in;
            min-height: 11in;
            margin: 0 auto;
            padding: .34in .4in .48in;
            position: relative;
            background: var(--paper);
            box-shadow: none;
            border: 1px solid var(--border-light);}
.pn-report-doc .agency-heading{display: flex;
            flex-direction: column;
            justify-content: center;
            min-width: 0;
            padding: 7px 12px;
            text-align: center;}
.pn-report-doc .agency-heading input{width: 100%;
            border: 0;
            border-bottom: 1px dotted transparent;
            background: transparent;
            color: var(--ink);
            text-align: center;
            outline: 0;}
.pn-report-doc .agency-heading input:focus{border-bottom-color: var(--line); background: var(--focus);}
.pn-report-doc .agency-community-input{font-size: 7.5px;
            font-weight: 700;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            color: var(--muted) !important;}
.pn-report-doc .agency-name-input{margin-top: 2px;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 17px;
            font-weight: 800;
            letter-spacing: .5px;
            line-height: 1.08;
            text-transform: uppercase;}
.pn-report-doc .agency-contact-input{margin-top: 4px;
            font-size: 7px;
            font-weight: 700;
            letter-spacing: .3px;
            text-transform: uppercase;
            color: var(--muted) !important;}
.pn-report-doc .header-control{display: grid;
            grid-template-rows: repeat(3, 1fr);
            border-left: 1px solid var(--ink);}
.pn-report-doc .header-control-row{min-width: 0;
            padding: 4px 7px;
            border-bottom: 1px solid var(--ink);}
.pn-report-doc .header-control-row:last-child{border-bottom: 0;}
.pn-report-doc .control-label{display: block;
            font-size: 7.5px;
            font-weight: 800;
            letter-spacing: .55px;
            line-height: 1.05;
            text-transform: uppercase;
            color: var(--muted);}
.pn-report-doc .control-input,
.pn-report-doc .control-select{width: 100%;
            min-height: 20px;
            margin-top: 1px;
            padding: 1px 0;
            border: 0;
            border-bottom: 1px dotted transparent;
            border-radius: 0;
            background: var(--entry);
            color: var(--ink);
            min-width: 0;
            text-overflow: ellipsis;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .2px;
            outline: 0;}
.pn-report-doc .control-input:focus,
.pn-report-doc .control-select:focus{border-bottom-color: var(--line); background: var(--focus);}
.pn-report-doc .report-title-bar{display: grid;
            grid-template-columns: 1fr auto;
            align-items: center;
            padding: 6px 10px;
            border: 2px solid var(--ink);
            border-top: 0;
            background: var(--accent);
            color: #fff;}
.pn-report-doc .report-title{font-family: Arial, Helvetica, sans-serif;
            font-size: 15px;
            font-weight: 800;
            letter-spacing: .8px;
            text-transform: uppercase;}
.pn-report-doc .report-form-code{font-size: 7px;
            font-weight: 700;
            letter-spacing: .55px;
            text-transform: uppercase;}
.pn-report-doc .report-section{margin-top: 10px;
            break-inside: avoid;
            page-break-inside: avoid;}
.pn-report-doc .report-section.allow-break{break-inside: auto;
            page-break-inside: auto;}
.pn-report-doc .report-section[hidden]{display: none !important;}
.pn-report-doc .section-heading{display: grid;
            grid-template-columns: 26px minmax(0, 1fr) auto;
            align-items: center;
            min-height: 25px;
            border: 1.5px solid var(--ink);
            background: var(--fill);}
.pn-report-doc .section-number{align-self: stretch;
            display: flex;
            align-items: center;
            justify-content: center;
            border-right: 1px solid var(--ink);
            background: var(--accent);
            color: #fff;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 11px;
            font-weight: 800;}
.pn-report-doc .section-title{padding: 4px 7px;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 10.2px;
            font-weight: 800;
            letter-spacing: .6px;
            text-transform: uppercase;}
.pn-report-doc .section-note{padding-right: 7px;
            font-size: 7.4px;
            font-weight: 700;
            letter-spacing: .35px;
            text-transform: uppercase;
            color: var(--muted);}
.pn-report-doc .section-tools{display: flex;
            justify-content: flex-end;
            gap: 5px;
            padding: 5px 0 0;}
.pn-report-doc .row-action{min-height: 24px;
            padding: 3px 9px;
            appearance: none;
            -webkit-appearance: none;
            border: 1px solid #8a8a8a;
            border-radius: 2px;
            background: #f2f2f2;
            box-shadow: none;
            color: #222;
            font-size: 8px;
            font-weight: 700;
            letter-spacing: .3px;
            text-transform: uppercase;
            cursor: pointer;}
.pn-report-doc .row-action:hover{background: #e7e7e7;}
.pn-report-doc .row-action.remove{color: var(--danger);}
.pn-report-doc .report-grid{display: grid;
            border-left: 1px solid var(--line);
            border-bottom: 1px solid var(--line);}
.pn-report-doc .report-grid.cols-1{grid-template-columns: 1fr;}
.pn-report-doc .report-grid.cols-2{grid-template-columns: repeat(2, minmax(0, 1fr));}
.pn-report-doc .report-grid.cols-3{grid-template-columns: repeat(3, minmax(0, 1fr));}
.pn-report-doc .report-grid.cols-4{grid-template-columns: repeat(4, minmax(0, 1fr));}
.pn-report-doc .report-grid.cols-5{grid-template-columns: repeat(5, minmax(0, 1fr));}
.pn-report-doc .report-grid.control-grid{grid-template-columns: 1.05fr .88fr .88fr 1.45fr;}
.pn-report-doc .report-grid.officer-grid{grid-template-columns: 1.35fr .8fr 1.15fr;}
.pn-report-doc .report-grid.location-grid{grid-template-columns: 1.8fr .75fr .8fr .75fr;}
.pn-report-doc .report-grid.person-grid{grid-template-columns: 1.25fr .72fr .52fr .65fr 1.25fr;}
.pn-report-doc .report-grid.vehicle-grid{grid-template-columns: .65fr 1fr 1fr .65fr 1fr .5fr .78fr;}
.pn-report-doc .report-grid.evidence-grid{grid-template-columns: 28px 1.6fr .82fr .82fr 1.15fr .88fr;}
.pn-report-doc .report-field{min-width: 0;
            min-height: 45px;
            padding: 5px 7px;
            border-top: 1px solid var(--line);
            border-right: 1px solid var(--line);
            vertical-align: top;}
.pn-report-doc .report-field.compact{min-height: 39px;}
.pn-report-doc .report-field.tall{min-height: 60px;}
.pn-report-doc .report-field.span-2{grid-column: span 2;}
.pn-report-doc .report-field.span-3{grid-column: span 3;}
.pn-report-doc .report-field.span-4{grid-column: span 4;}
.pn-report-doc .report-field.span-5{grid-column: span 5;}
.pn-report-doc .report-field-label{display: block;
            font-size: 8.4px;
            font-weight: 800;
            letter-spacing: .4px;
            line-height: 1.1;
            text-transform: uppercase;
            color: var(--muted);}
.pn-report-doc .report-input,
.pn-report-doc .report-select,
.pn-report-doc .report-textarea{width: 100%;
            min-width: 0;
            margin-top: 3px;
            padding: 2px 3px;
            border: 0;
            border-bottom: 1px dotted #9a9a9a;
            border-radius: 0;
            background: var(--entry);
            color: var(--ink);
            text-overflow: ellipsis;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 11px;
            font-weight: 600;
            line-height: 1.25;
            outline: 0;}
.pn-report-doc .report-textarea{min-height: 42px;
            resize: vertical;
            overflow: hidden;
            overflow-wrap: anywhere;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 10.8px;
            font-weight: 500;}
.pn-report-doc .report-input:focus,
.pn-report-doc .report-select:focus,
.pn-report-doc .report-textarea:focus{background: var(--focus); border-bottom-color: var(--ink);}
body.pn-app .pn-report-doc input::placeholder,
body.pn-app .pn-report-doc textarea::placeholder{color: #888; font-weight: 400; font-family: Arial, Helvetica, sans-serif;}
.pn-report-doc .checkbox-field{min-height: 45px;
            padding: 5px 7px;
            border-top: 1px solid var(--line);
            border-right: 1px solid var(--line);}
.pn-report-doc .checkbox-list{display: flex;
            flex-wrap: wrap;
            gap: 5px 10px;
            margin-top: 5px;}
.pn-report-doc .check-option{display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 8.6px;
            font-weight: 700;
            line-height: 1.1;}
.pn-report-doc .check-option input{width: 12px;
            height: 12px;
            margin: 0;
            accent-color: #111;}
.pn-report-doc .record-table{width: 100%;
            border-collapse: collapse;
            table-layout: fixed;
            font-size: 9.5px;}
.pn-report-doc .record-table th{padding: 4px 5px;
            border: 1px solid var(--line);
            border-top: 0;
            background: #f3f4f5;
            text-align: left;
            font-size: 8px;
            font-weight: 800;
            letter-spacing: .4px;
            line-height: 1.1;
            text-transform: uppercase;}
.pn-report-doc .record-table td{padding: 3px 4px;
            border: 1px solid var(--line);
            vertical-align: top;}
.pn-report-doc .record-table input,
.pn-report-doc .record-table select,
.pn-report-doc .record-table textarea{width: 100%;
            min-width: 0;
            min-height: 24px;
            padding: 2px;
            border: 0;
            border-bottom: 1px dotted #aaa;
            border-radius: 0;
            background: var(--entry);
            color: #111;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 9.5px;
            font-weight: 600;
            outline: 0;}
body.pn-app .pn-report-doc input[type=number],
body.pn-app .pn-report-doc input[type=date],
body.pn-app .pn-report-doc input[type=time]{
            background: var(--entry);
            border: 0;
            border-bottom: 1px dotted #aaa;
            border-radius: 0;
            color: #111;
            padding: 2px;
            min-height: 24px;}
body.pn-app .pn-report-doc input[type=number]:focus,
body.pn-app .pn-report-doc input[type=date]:focus,
body.pn-app .pn-report-doc input[type=time]:focus{
            background: var(--focus);
            border-bottom-color: #111;
            outline: 0;}
body.pn-app .pn-report-doc input[type=date]::-webkit-calendar-picker-indicator,
body.pn-app .pn-report-doc input[type=time]::-webkit-calendar-picker-indicator{
            filter: none;}
.pn-report-doc .record-table textarea{resize: vertical; min-height: 32px;}
.pn-report-doc .record-table input:focus,
.pn-report-doc .record-table select:focus,
.pn-report-doc .record-table textarea:focus{background: var(--focus); border-bottom-color: #111;}
.pn-report-doc .record-table .number-col{width: 30px; text-align: center;}
.pn-report-doc .record-table .code-col{width: 90px;}
.pn-report-doc .record-table .class-col{width: 86px;}
.pn-report-doc .record-table .count-col{width: 45px;}
.pn-report-doc .record-table .disp-col{width: 82px;}
.pn-report-doc .record-table .remove-col{width: 35px; text-align: center;}
.pn-report-doc .record-number{display: inline-flex;
            width: 22px;
            height: 22px;
            align-items: center;
            justify-content: center;
            font-weight: 900;}
.pn-report-doc .record-card{border: 1px solid var(--line);
            border-top: 0;
            break-inside: avoid;
            page-break-inside: avoid;}
.pn-report-doc .record-card-header{display: grid;
            grid-template-columns: 28px minmax(0, 1fr) 142px 36px;
            min-height: 28px;
            align-items: center;
            border-bottom: 1px solid var(--light-line);
            background: #f7f8f9;}
.pn-report-doc .record-card-header .record-number{width: 28px;
            height: 100%;
            border-right: 1px solid var(--light-line);}
.pn-report-doc .record-card-header input,
.pn-report-doc .record-card-header select{width: 100%;
            min-width: 0;
            min-height: 23px;
            padding: 2px 6px;
            border: 0;
            border-bottom: 1px dotted transparent;
            border-radius: 0;
            background: var(--entry);
            color: #111;
            font-size: 9px;
            font-weight: 800;
            text-transform: uppercase;
            outline: 0;}
.pn-report-doc .record-card-header input:focus,
.pn-report-doc .record-card-header select:focus{background: var(--focus); border-bottom-color: #111;}
.pn-report-doc .record-card-header .record-role{border-left: 1px solid var(--light-line);}
.pn-report-doc .record-card-header .remove-cell{text-align: center;}
.pn-report-doc .narrative-box{border: 1px solid var(--line);
            border-top: 0;
            min-height: 3.1in;
            background-image: repeating-linear-gradient(
                to bottom,
                transparent 0,
                transparent 22px,
                rgba(0,0,0,.08) 22px,
                rgba(0,0,0,.08) 23px
            );
            background-position: 0 12px;}
.pn-report-doc .narrative-box textarea{width: 100%;
            min-height: 3.1in;
            padding: 12px 13px;
            border: 0;
            background: transparent;
            color: #111;
            font-family: "Times New Roman", Times, serif;
            font-size: 11.5px;
            line-height: 1.55;
            resize: vertical;
            outline: 0;}
.pn-report-doc .narrative-box textarea:focus{background: rgba(223,238,255,.5);}
.pn-report-doc .certification-text{padding: 8px 10px;
            border: 1px solid var(--line);
            border-top: 0;
            font-size: 8.4px;
            line-height: 1.45;}
.pn-report-doc .signature-grid{display: grid;
            grid-template-columns: 1fr 1fr;
            border-left: 1px solid var(--line);
            border-bottom: 1px solid var(--line);}
.pn-report-doc .signature-block{min-height: 76px;
            padding: 8px 10px 5px;
            border-top: 1px solid var(--line);
            border-right: 1px solid var(--line);}
.pn-report-doc .signature-block input{width: 100%;
            height: 42px;
            padding: 14px 2px 2px;
            border: 0;
            border-bottom: 1px solid var(--ink);
            background: transparent;
            color: #111;
            font-family: "Times New Roman", Times, serif;
            font-size: 13px;
            font-style: italic;
            outline: 0;}
.pn-report-doc .signature-block input:focus{background: var(--focus);}
.pn-report-doc .signature-fields{display: flex; gap: 10px;}
.pn-report-doc .signature-fields input{width: auto;}
.pn-report-doc .signature-fields input:first-child{flex: 1 1 auto; min-width: 0;}
.pn-report-doc .signature-fields .signature-id{flex: 0 0 26%; min-width: 0;}
.pn-report-doc .signature-label{padding-top: 3px;
            font-size: 6.8px;
            font-weight: 900;
            letter-spacing: .4px;
            text-transform: uppercase;}
.pn-report-doc .report-footer{display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            gap: 10px;
            margin-top: 12px;
            padding-top: 5px;
            border-top: 1px solid var(--ink);
            color: var(--muted);
            font-size: 7.2px;
            font-weight: 700;
            letter-spacing: .4px;
            text-transform: uppercase;}
.pn-report-doc .report-footer-center{text-align: center; color: #111;}
.pn-report-doc .report-footer-right{text-align: right;}
.pn-report-doc .report-disclaimer{margin-top: 5px;
            text-align: center;
            color: var(--muted);
            font-size: 7px;
            font-weight: 700;
            letter-spacing: .4px;
            text-transform: uppercase;
            break-inside: avoid;
            page-break-inside: avoid;}
.pn-report-doc .report-disclaimer a{color: #17233b; text-decoration: underline;}
@media (max-width: 900px){
.pn-report-doc.family-leo .official-report{min-height: 100vh; padding: 16px; box-shadow: none;}
}

.pn-report-doc .report-document-header{display: grid;
            grid-template-columns: 1.35in minmax(0, 1fr) 1.62in;
            min-height: 1.12in;
            border: 2px solid var(--ink);}
.pn-report-doc .tracking-control-wrap{display: flex;
            align-items: center;
            justify-content: center;
            min-width: 0;
            padding: 4px 3px;
            border-right: 1px solid var(--ink);
            background: #fff;}
.pn-report-doc .tracking-control{width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 3px;
            color: var(--ink);
            text-align: center;
            text-decoration: none;}
.pn-report-doc .tracking-matrix{width: .63in;
            height: .63in;
            border: 1px solid var(--ink);
            background: #fff;
            image-rendering: pixelated;}
.pn-report-doc .tracking-label{font-size: 5.8px;
            font-weight: 900;
            letter-spacing: .55px;
            line-height: 1.05;
            text-transform: uppercase;}
.pn-report-doc .tracking-code{font-family: Arial, Helvetica, sans-serif;
            max-width: 100%;
            font-size: 6.4px;
            font-weight: 900;
            letter-spacing: 0;
            line-height: 1.15;
            white-space: nowrap;}
@media (max-width: 900px){
.pn-report-doc.family-fire .official-report{min-height: 100vh; padding: 16px; box-shadow: none;}
}
.pn-report-doc .report-grid.timeline-grid{grid-template-columns: repeat(5, minmax(0, 1fr));}
.pn-report-doc .report-grid.command-grid{grid-template-columns: 1.15fr .7fr .8fr 1.25fr;}
.pn-report-doc .report-grid.patient-header-grid{grid-template-columns: 1.25fr .8fr .55fr .65fr .75fr;}
.pn-report-doc .report-grid.patient-contact-grid{grid-template-columns: 1.15fr .78fr 1.45fr .75fr;}
.pn-report-doc .report-grid.assessment-grid{grid-template-columns: repeat(6, minmax(0, 1fr));}
.pn-report-doc .report-grid.transport-grid{grid-template-columns: 1.15fr 1fr .75fr .75fr 1fr;}
.pn-report-doc .report-grid.property-grid{grid-template-columns: 1.45fr 1fr .8fr .8fr;}
.pn-report-doc .report-grid.fire-grid{grid-template-columns: repeat(5, minmax(0, 1fr));}
.pn-report-doc .report-grid.mva-grid{grid-template-columns: repeat(5, minmax(0, 1fr));}
.pn-report-doc .report-grid.hazmat-grid{grid-template-columns: repeat(5, minmax(0, 1fr));}
.pn-report-doc .record-table .time-col{width: 62px;}
.pn-report-doc .record-table .short-col{width: 58px;}
.pn-report-doc .record-table .medium-col{width: 88px;}
.pn-report-doc .record-table .provider-col{width: 78px;}
.pn-report-doc .record-table .result-col{width: 94px;}
.pn-report-doc .record-table .unit-col{width: 72px;}
.pn-report-doc .record-table .personnel-col{width: 118px;}
.pn-report-doc .record-table .severity-col{width: 84px;}
.pn-report-doc .record-table .due-col{width: 82px;}
.pn-report-doc .field-help{display: block;
            margin-top: 2px;
            color: #666;
            font-size: 6.2px;
            font-weight: 600;
            line-height: 1.15;
            text-transform: uppercase;}
.pn-report-doc .patient-card .record-card-header{grid-template-columns: 28px minmax(0, 1fr) 160px 36px;}
.pn-report-doc .vehicle-card .record-card-header{grid-template-columns: 28px minmax(0, 1fr) 140px 36px;}
.pn-report-doc .compact-narrative .narrative-box,
.pn-report-doc .compact-narrative .narrative-box textarea{min-height: 1.8in;}
.pn-report-doc .warning-box{padding: 7px 9px;
            border: 1px solid var(--line);
            border-top: 0;
            font-size: 7.4px;
            font-weight: 700;
            line-height: 1.35;}

.pn-report-doc [data-pn-auto]{
    background: transparent !important;
    color: #4b525a !important;
    border-bottom-color: transparent !important;
    cursor: not-allowed !important;
    caret-color: transparent;
    pointer-events: none;
}
.pn-report-doc [data-pn-auto]:focus{
    background: transparent !important;
    border-bottom-color: transparent !important;
    outline: 0 !important;
}
.pn-report-doc.is-readonly .section-tools, .pn-report-doc.is-readonly .row-action,
.pn-report-doc.is-readonly .remove-col, .pn-report-doc.is-readonly .remove-cell{ display: none !important; }
.pn-report-doc.is-readonly input:disabled,
.pn-report-doc.is-readonly select:disabled,
.pn-report-doc.is-readonly textarea:disabled{
    background: transparent !important;
    color: #4b525a !important;
    cursor: default !important;
    opacity: 1;
}
@page{ size: Letter; margin: 0.5in; }
@media print{
    body.pn-app .header, body.pn-app .platenet-footer, body.pn-app .nav-tabs,
    body.pn-app .reports-list-panel, body.pn-app .modal,
    body.pn-app .report-doc-actions, body.pn-app .panel-header, body.pn-app .preview-banner,
    body.pn-app .current-call-banner, body.pn-app .pn-review-block{ display: none !important; }
    html.pn-app-root, body.pn-app{ height: auto !important; overflow: visible !important; background: #fff !important; margin: 0 !important; padding: 0 !important; }
    body.pn-app .main, body.pn-app .reports-layout, body.pn-app .reports-layout > .panel:last-child{
        display: block !important; background: #fff !important; border: 0 !important; height: auto !important; overflow: visible !important;
        margin: 0 !important; padding: 0 !important; }
    body.pn-app .report-view{ padding: 0 !important; margin: 0 !important; max-height: none !important; overflow: visible !important;
        background: #fff !important; }
    body.pn-app .pn-report-doc{ margin: 0 !important; }
    .pn-report-doc{ -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .pn-report-doc .screen-only, .pn-report-doc .section-tools, .pn-report-doc .remove-col, .pn-report-doc .remove-cell{ display: none !important; }
    .pn-report-doc .official-report{ width: auto !important; max-width: none !important; min-height: auto !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; border: 0 !important; }
    .pn-report-doc input, .pn-report-doc select, .pn-report-doc textarea{ color: #000 !important; background: transparent !important; box-shadow: none !important; }
    .pn-report-doc input::placeholder, .pn-report-doc textarea::placeholder{ color: transparent !important; }
    .pn-report-doc .report-input, .pn-report-doc .report-select, .pn-report-doc .report-textarea,
    .pn-report-doc .record-table input, .pn-report-doc .record-table select, .pn-report-doc .record-table textarea,
    .pn-report-doc .agency-heading input, .pn-report-doc .control-input, .pn-report-doc .control-select,
    .pn-report-doc .record-card-header input, .pn-report-doc .record-card-header select{
        border-bottom-color: transparent !important; appearance: none; -webkit-appearance: none; }
    .pn-report-doc .report-section, .pn-report-doc .record-card{ break-inside: avoid; page-break-inside: avoid; }
    .pn-report-doc .report-section.allow-break{ break-inside: auto; page-break-inside: auto; }
    .pn-report-doc .record-table tr, .pn-report-doc .checkbox-field,
    .pn-report-doc .signature-grid, .pn-report-doc .report-document-header,
    .pn-report-doc .report-footer, .pn-report-doc .report-disclaimer{ break-inside: avoid; page-break-inside: avoid; }
    .pn-report-doc .section-heading{ break-after: avoid; page-break-after: avoid; }
    .pn-report-doc [data-pn-auto]{ background: transparent !important; }
    .pn-report-doc{ zoom: 1 !important; }
}

form.pn-row-form, form.history-row-form, form.record-link-form,
form.header-logout-form{ display: contents; }
button.pn-row-btn, button.history-row, button.record-link{
    appearance: none;
    -webkit-appearance: none;
    background: none;
    border: 0;
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
}
button.pn-row-btn, button.history-row{ width: 100%; }


body.pn-app .portal-subnote-row{ display: flex; align-items: flex-start; gap: 12px; }
body.pn-app .portal-subnote-row .portal-subheading{ flex: 1; min-width: 0; }
body.pn-app .portal-manage-account{ flex: none; width: auto; }
body.pn-app .account-modal-box{ width: min(600px, 94vw); }
body.pn-app .account-section{ padding: 12px 0; border-top: 1px solid var(--border); }
body.pn-app .account-section:first-child{ border-top: 0; padding-top: 0; }
body.pn-app .account-section-title{ margin-bottom: 8px; color: var(--text-secondary); font-size: 11px; font-weight: 700; text-transform: uppercase; }
body.pn-app .skin-option-list{ display: grid; gap: 6px; margin-bottom: 8px; }
body.pn-app .skin-option{ display: flex; align-items: center; gap: 9px; margin: 0; padding: 8px; border: 1px solid var(--border); background: var(--bg-body); cursor: pointer; text-transform: none; }
body.pn-app .skin-option input{ width: 16px; height: 16px; flex: none; }
body.pn-app .skin-option b{ display: block; color: var(--text-primary); font-size: 11px; }
body.pn-app .skin-option small{ display: block; margin-top: 2px; color: var(--text-muted); font-size: 10px; }

body.pn-page-history .history-layout>.panel{background:var(--bg-surface)}
body.pn-page-history .filter-bar,
body.pn-page-history .detail-header{background:var(--bg-body);border-bottom-color:var(--border)}
body.pn-page-history .history-row{background:var(--bg-surface);border-bottom-color:var(--border-light)}
body.pn-page-history .history-row>div+div{border-left-color:var(--border-light)}
body.pn-page-history .history-row:hover{background:var(--bg-surface-alt)}
body.pn-page-history .detail-panel{border-left-color:var(--border)}
body.pn-page-history .detail-body{background:var(--bg-surface)}

html.pn-app-root[data-skin="institutional-light"]{
    --bg-body:#e6e8eb; --bg-surface:#ffffff; --bg-surface-alt:#f3f4f6;
    --bg-header:#22384f; --bg-input:#ffffff; --bg-selected:#dbe5ef; --bg-deep:#172b3e;
    --border:#b8bec5; --border-light:#ccd1d7; --border-focus:#2c5a8c;
    --text-primary:#1d2126; --text-secondary:#4d565f; --text-muted:#6b7480; --text-white:#ffffff;
    --status-green:#1e7a2e; --status-amber:#8a6400; --status-red:#a02121; --status-blue:#2c5a8c;
    --btn-bg:#eceef1; --btn-hover:#dfe3e8; --btn-active:#d3d8dd;
    --btn-primary-bg:#2c4a73; --btn-primary-border:#1f3a5f; --btn-primary-text:#f2f6fb; --btn-primary-hover:#254063;
    --badge-amber-t:#7a5a00; --badge-amber-b:#c8a84e;
    --badge-red-t:#8e1f1f;  --badge-red-b:#cf8f8f;
    --badge-green-t:#1e6b2e; --badge-green-b:#86b28f;
    --badge-blue-t:#24578a; --badge-blue-b:#93b3d1;
    --notice-green:#1e6b2e; --notice-red:#8e1f1f; --text-amber:#7a5a00;
    --strip-lock-bg:#f6efdc; --strip-lock-border:#c8a84e; --strip-active-bg:#e2efe4;
    --strip-call-bg:#dce8f4; --strip-call-border:#2c5a8c; --strip-call-text:#1f3a5f; --strip-call-stripe:#93b3d1;
    --card-pending-bg:#f6efdc; --bg-alarm:#f4dedd; --flag-active-bg:#f2ead2;
    --deep-ink:#e7eef5;
    --btn-danger-bg:#a02121; --btn-danger-hover:#8e1f1f;
    --scheme:light;
}
html.pn-app-root[data-skin="institutional-light"] body.pn-app .header-link{color:#c6d2de}
html.pn-app-root[data-skin="institutional-light"] body.pn-app .header-link:hover{color:#ffffff;background:#2b465f}
html.pn-app-root[data-skin="institutional-light"] body.pn-app .header-meta-label{color:#aebdcc}
html.pn-app-root[data-skin="institutional-light"] body.pn-app .header-meta-value{color:#f2f6fb}
html.pn-app-root[data-skin="institutional-light"] body.pn-app .header-clock{color:#b9d8f2}
html.pn-app-root[data-skin="institutional-light"] body.pn-app .return-payload{color:var(--deep-ink)}
html.pn-app-root[data-skin="institutional-light"] body.pn-app .return-payload::first-line{color:#ffffff}

html.pn-app-root[data-skin="neutral-operations"]{
    --bg-body:#2d3238; --bg-surface:#394047; --bg-surface-alt:#424a52;
    --bg-header:#252b31; --bg-input:#2b3036; --bg-selected:#4c555f; --bg-deep:#23282d;
    --border:#525a63; --border-light:#5f6871; --border-focus:#8fb3d4;
    --text-primary:#e6e9ec; --text-secondary:#b4bcc4; --text-muted:#98a1aa; --text-white:#ffffff;
    --status-green:#6fbc79; --status-amber:#d9a83e; --status-red:#d36060; --status-blue:#8fb3d4;
    --btn-bg:#464e56; --btn-hover:#525a63; --btn-active:#5a626b;
    --btn-primary-bg:#3e5a77; --btn-primary-border:#57799c; --btn-primary-text:#e2eefa; --btn-primary-hover:#48688a;
    --badge-amber-t:#ecc776; --badge-amber-b:#8a7434;
    --badge-red-t:#f2a8a8;  --badge-red-b:#94504e;
    --badge-green-t:#9bd8a6; --badge-green-b:#4d8459;
    --badge-blue-t:#b6d3ee; --badge-blue-b:#5b7c9e;
    --notice-green:#9bd8a6; --notice-red:#e0a2a2; --text-amber:#ecc776;
    --strip-lock-bg:#4a4128; --strip-lock-border:#8a7434; --strip-active-bg:#3a4d3f;
    --strip-call-bg:#33465a; --strip-call-border:#8fb3d4; --strip-call-text:#e2eefa; --strip-call-stripe:#57799c;
    --card-pending-bg:#4a4128; --bg-alarm:#4a302f; --flag-active-bg:#4d452c;
    --deep-ink:#f2f5f8;
    --btn-danger-bg:#b04848; --btn-danger-hover:#c05555;
    --scheme:dark;
}

html.pn-app-root[data-skin="cvd-accessible"]{
    --bg-body:#16181b; --bg-surface:#20242a; --bg-surface-alt:#262b32;
    --bg-header:#1c2530; --bg-input:#16181b; --bg-selected:#2f3a46; --bg-deep:#101317;
    --border:#4b545e; --border-light:#5a636d; --border-focus:#7fc4e8;
    --text-primary:#edf0f2; --text-secondary:#b9c1c9; --text-muted:#8d969f; --text-white:#ffffff;
    --status-green:#9be2f2; --status-amber:#f2c75e; --status-red:#ff9d9d; --status-blue:#7d92d8;
    --btn-bg:#2a2f36; --btn-hover:#333a42; --btn-active:#3a424b;
    --btn-primary-bg:#35506b; --btn-primary-border:#5d80a3; --btn-primary-text:#e2eefa; --btn-primary-hover:#3f5d7d;
    --badge-amber-t:#f2c75e; --badge-amber-b:#93762e;
    --badge-red-t:#ff9d9d;  --badge-red-b:#8f4a4a;
    --badge-green-t:#9be2f2; --badge-green-b:#3f7482;
    --badge-blue-t:#7d92d8; --badge-blue-b:#52678f;
    --notice-green:#9be2f2; --notice-red:#ff9d9d; --text-amber:#f2c75e;
    --strip-lock-bg:#33290f; --strip-lock-border:#93762e; --strip-active-bg:#173238;
    --strip-call-bg:#223a50; --strip-call-border:#7fc4e8; --strip-call-text:#e2eefa; --strip-call-stripe:#5d80a3;
    --card-pending-bg:#33290f; --bg-alarm:#3a2020; --flag-active-bg:#332b14;
    --deep-ink:#edf0f2;
    --btn-danger-bg:#b04040; --btn-danger-hover:#c05050;
    --scheme:dark;
}

html.pn-app-root[data-skin="wcag-accessible"]{
    --bg-body:#141414; --bg-surface:#1e1e1e; --bg-surface-alt:#262626;
    --bg-header:#1a2430; --bg-input:#141414; --bg-selected:#2e3a47; --bg-deep:#0d0d0d;
    --border:#8f8f8f; --border-light:#a6a6a6; --border-focus:#9ec9f0;
    --text-primary:#f2f2f2; --text-secondary:#c7c7c7; --text-muted:#a8a8a8; --text-white:#ffffff;
    --status-green:#7ed491; --status-amber:#f5c542; --status-red:#ff9c9c; --status-blue:#9ec9f0;
    --btn-bg:#2b2b2b; --btn-hover:#333638; --btn-active:#3a3a3a;
    --btn-primary-bg:#245089; --btn-primary-border:#7fb0e0; --btn-primary-text:#ffffff; --btn-primary-hover:#2c5e9e;
    --badge-amber-t:#f5c542; --badge-amber-b:#f5c542;
    --badge-red-t:#ff9c9c;  --badge-red-b:#ff9c9c;
    --badge-green-t:#7ed491; --badge-green-b:#7ed491;
    --badge-blue-t:#9ec9f0; --badge-blue-b:#9ec9f0;
    --notice-green:#7ed491; --notice-red:#ff9c9c; --text-amber:#f5c542;
    --strip-lock-bg:#332b12; --strip-lock-border:#f5c542; --strip-active-bg:#1e3a26;
    --strip-call-bg:#24384f; --strip-call-border:#9ec9f0; --strip-call-text:#ffffff; --strip-call-stripe:#7fb0e0;
    --card-pending-bg:#332b12; --bg-alarm:#401d18; --flag-active-bg:#33301a;
    --deep-ink:#f2f2f2;
    --btn-danger-bg:#a32d20; --btn-danger-hover:#b8382a;
    --scheme:dark;
}

html.pn-app-root[data-skin="cvd-accessible"] .v5-badge.red::before{ content: "! "; font-weight: 900; }
html.pn-app-root[data-skin="cvd-accessible"] .v5-badge.amber::before{ content: "▲ "; }
html.pn-app-root[data-skin="cvd-accessible"] .v5-badge.green::before{ content: "✓ "; }
html.pn-app-root[data-skin="cvd-accessible"] .v5-badge.blue::before{ content: "◆ "; }
html.pn-app-root[data-skin="cvd-accessible"] body.pn-app .cad-call.is-pending{ border-style: dashed; border-left-style: solid; }
html.pn-app-root[data-skin="cvd-accessible"] body.pn-app .cad-call.p0{ border-width: 2px; border-left-width: 6px; }
html.pn-app-root[data-skin="cvd-accessible"] body.pn-app :focus-visible,
html.pn-app-root[data-skin="wcag-accessible"] body.pn-app :focus-visible{ outline: 2px solid var(--border-focus); outline-offset: 1px; }
html.pn-app-root[data-skin="wcag-accessible"] body.pn-app .cad-call.selected{ outline: 2px solid var(--border-focus); outline-offset: -2px; }



body.pn-app .skin-option:has(input:checked){
    background:var(--bg-surface-alt);
    border-color:var(--border-light);
    box-shadow:inset 3px 0 0 var(--border-light);
}
body.pn-app .skin-option:focus-within{
    border-color:var(--border-light);
}

body.pn-app .query-combined{
    max-width:none;
    padding:8px;
    gap:8px;
}
body.pn-app .query-search-panel{
    min-width:0;
    overflow:hidden;
    border-right:1px solid var(--border);
}
body.pn-app .query-search-body{
    padding:0;
    overflow:auto;
}
body.pn-app .query-search-body .query-section:last-child{
    border-bottom:0;
}
body.pn-app .query-workspace{
    padding:0;
}

body.pn-page-history .history-layout{
    grid-template-columns:minmax(0,1fr) minmax(360px,500px);
    gap:8px;
    padding:8px;
    min-height:0;
}
body.pn-page-history .history-list-panel,
body.pn-page-history .history-detail-panel{
    min-width:0;
    min-height:0;
}
body.pn-page-history .history-list-body{
    display:flex;
    flex-direction:column;
    padding:0;
    overflow:hidden;
}
body.pn-page-history .filter-bar{
    flex:0 0 auto;
    padding:8px;
    background:var(--bg-surface);
    border-bottom:1px solid var(--border);
    flex-wrap:wrap;
}
body.pn-page-history .history-column-head{
    flex:0 0 auto;
    background:var(--bg-body);
    border-bottom:1px solid var(--border);
}
body.pn-page-history .history-column-head:hover{background:var(--bg-body)}
body.pn-page-history .filter-bar .pn-compat-history-01{flex-wrap:wrap}
body.pn-page-history .history-list{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
}
body.pn-page-history .history-detail-body{
    overflow:auto;
    padding:10px;
    background:var(--bg-surface);
}
body.pn-page-history .history-detail-panel{
    border-left:1px solid var(--border);
}

body.pn-app .bolo-import-returns{
    margin-top:8px;
}
body.pn-app .bolo-import-toggle{
    width:auto;
    max-width:100%;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
}
body.pn-app .bolo-import-toggle .v5-badge{
    min-width:22px;
    justify-content:center;
}
body.pn-app .bolo-import-panel{
    margin-top:6px;
    padding:7px;
    border:1px solid var(--border);
    background:var(--bg-surface);
}
body.pn-app .bolo-import-caption{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:8px;
    margin-bottom:6px;
    color:var(--text-secondary);
}
body.pn-app .bolo-import-caption strong{
    font-size:10px;
    letter-spacing:.4px;
}
body.pn-app .bolo-import-caption span{
    min-width:0;
    color:var(--text-muted);
    font-size:9px;
    text-align:right;
}
body.pn-app .bolo-import-list{
    display:grid;
    gap:4px;
    max-height:190px;
    overflow:auto;
}
body.pn-app .bolo-import-item{
    appearance:none;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:7px;
    width:100%;
    padding:8px;
    border:1px solid var(--border);
    background:var(--bg-surface-alt);
    color:var(--text-primary);
    font:inherit;
    text-align:left;
    cursor:pointer;
}
body.pn-app .bolo-import-item:hover{
    background:var(--bg-selected);
    border-color:var(--border-light);
}
body.pn-app .bolo-import-item strong,
body.pn-app .bolo-import-item small{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
body.pn-app .bolo-import-item strong{font-size:10px}
body.pn-app .bolo-import-item small{margin-top:2px;color:var(--text-muted);font-size:9px}
body.pn-app .bolo-import-empty{padding:6px 2px}

@media(max-width:1000px){
    body.pn-app .query-combined{padding:8px;gap:8px}
    body.pn-app .query-search-panel{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
    body.pn-app .query-workspace{padding:0}
    body.pn-page-history .history-layout{grid-template-columns:1fr;overflow:auto}
    body.pn-page-history .history-list-panel,
    body.pn-page-history .history-detail-panel{min-height:420px}
}

body.pn-app .bolo-card-v564{contain:layout paint;}
body.pn-app .bolo-card-head{max-block-size:4.2rem;overflow:hidden;}

body.pn-app .penal-search-box .pn-compat-reports-24{
    color:var(--text-primary);
    font-weight:400;
}




body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-content{
    padding: 10px;
}
body.pn-app.pn-page-backpanel .community-admin-content{
    width: min(1280px, 100%);
    max-width: none;
    margin-inline: auto;
    padding-bottom: 22px;
}
body.pn-app.pn-page-platform .v5-content{
    width: min(1800px, 100%);
    max-width: none;
    margin-inline: auto;
    padding-bottom: 22px;
}

body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .page-heading{
    min-height: 58px;
    margin: 0 0 8px;
    padding: 10px 12px;
    align-items: center;
    border: 1px solid var(--border);
    background: var(--bg-surface);
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .page-heading h1{
    margin: 0 0 3px;
    color: var(--text-primary);
    font-size: 18px;
    line-height: 1.1;
    letter-spacing: .2px;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .page-heading .v5-muted{
    font-size: 10px;
    line-height: 1.45;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .page-heading > .btn{
    flex: 0 0 auto;
    width: auto;
    min-width: 118px;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .page-heading .panel-title-note{
    max-width: min(520px, 44vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .back-tabs{
    display: flex;
    gap: 0;
    margin: 0 0 8px;
    padding: 3px;
    overflow: visible;
    border: 1px solid var(--border);
    background: var(--bg-body);
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .back-tabs a{
    display: inline-flex;
    min-height: 31px;
    align-items: center;
    justify-content: center;
    padding: 6px 11px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .35px;
    white-space: nowrap;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .back-tabs a:hover{
    border-color: var(--border);
    background: var(--bg-surface-alt);
    color: var(--text-secondary);
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .back-tabs a.active{
    border-color: var(--btn-primary-border);
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
}

body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-panel{
    margin: 0 0 8px;
    border-color: var(--border);
    background: var(--bg-surface);
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-panel-title{
    min-height: 34px;
    padding: 8px 10px;
    background: var(--bg-body);
    color: var(--text-secondary);
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-panel-body{
    padding: 10px;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .admin-lead,
body.pn-app.pn-page-platform .v5-alert.info{
    line-height: 1.5;
}

body.pn-app:is(.pn-page-backpanel,.pn-page-platform) :is(
    .compact-form input:not([type="checkbox"]):not([type="radio"]),
    .compact-form select,
    .table-input,
    .community-switch,
    .panel-title-tools select,
    .inline-details input
){
    min-height: 32px;
    height: 32px;
    padding: 6px 8px;
    border: 1px solid var(--border);
    background-color: var(--bg-input);
    color: var(--text-primary);
    font-size: 11px;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) :is(
    .compact-form select,
    select.table-input,
    select.community-switch,
    .panel-title-tools select
):not([multiple]):not([size]){
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%238b97a3' stroke-width='1.5'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 28px;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .compact-form textarea{
    padding: 7px 8px;
    border: 1px solid var(--border);
    background: var(--bg-input);
    color: var(--text-primary);
    font-size: 11px;
    line-height: 1.45;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) :is(
    .compact-form input,
    .compact-form select,
    .compact-form textarea,
    .table-input,
    .community-switch,
    .panel-title-tools select,
    .inline-details input
):focus{
    outline: none;
    border-color: var(--border-focus);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--border-focus) 34%, transparent);
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .compact-form label{
    margin-bottom: 4px;
    color: var(--text-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .25px;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .field-note,
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .compact-form small{
    color: var(--text-muted);
    font-size: 9px;
    line-height: 1.4;
}

body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-panel .btn{
    width: auto;
    min-height: 29px;
    padding: 5px 9px;
    white-space: nowrap;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .form-actions{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    flex-wrap: wrap;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .form-actions .btn{
    min-width: 108px;
}






body.pn-app.pn-page-backpanel .admin-row-action .btn,
body.pn-app.pn-page-backpanel .admin-edit-toggle{
    min-width: 62px;
}


body.pn-app.pn-page-backpanel .code-generator{
    gap: 8px;
    padding: 9px;
}
body.pn-app.pn-page-backpanel .empty-admin-state{
    background: var(--bg-body);
}

body.pn-app:is(.pn-page-backpanel,.pn-page-platform) :is(.admin-details,.v5-details,.inline-details){
    border: 1px solid var(--border);
    background: var(--bg-body);
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-details{
    margin-top: 8px;
    padding: 0;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) :is(.admin-details,.v5-details) > summary{
    min-height: 34px;
    padding: 8px 10px;
    color: var(--text-secondary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .3px;
    list-style-position: inside;
    cursor: pointer;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) :is(.admin-details,.v5-details) > summary:hover{
    background: var(--bg-surface-alt);
    color: var(--text-primary);
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-details > :not(summary){
    margin-left: 9px;
    margin-right: 9px;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-details > form{
    margin-top: 0;
    margin-bottom: 9px;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-details > .table-scroll{
    margin-bottom: 9px;
}
body.pn-app.pn-page-platform .inline-details{
    margin-top: 5px;
    padding: 5px;
}
body.pn-app.pn-page-platform .inline-details summary{
    color: var(--text-muted);
    font-size: 9px;
    font-weight: 700;
    cursor: pointer;
}
body.pn-app.pn-page-platform .inline-details .table-input{
    display: block;
    width: 100%;
    min-width: 110px;
    margin-top: 5px;
}

body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .table-scroll{
    width: 100%;
    max-width: 100%;
    overflow: auto;
    border: 1px solid var(--border);
    background: var(--bg-surface);
    scrollbar-gutter: stable;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .table-scroll .v5-table{
    margin: 0;
}
body.pn-app.pn-page-platform .table-scroll .platform-wide-table{
    min-width: 1120px;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-table th{
    position: sticky;
    top: 0;
    z-index: 2;
    height: 31px;
    padding: 6px 7px;
    border-right: 1px solid var(--border);
    background: var(--bg-body);
    color: var(--text-muted);
    font-size: 9px;
    letter-spacing: .3px;
    white-space: nowrap;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-table th:last-child{
    border-right: 0;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-table td{
    padding: 6px 7px;
    border-right: 1px solid var(--border);
    color: var(--text-secondary);
    line-height: 1.35;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-table td:last-child{
    border-right: 0;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-table tbody tr:last-child td{
    border-bottom: 0;
}
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-table tbody tr:hover td{
    background: var(--bg-selected);
}
body.pn-app.pn-page-platform .v5-table .large-check{
    min-height: 30px;
    gap: 6px;
    white-space: nowrap;
}
body.pn-app.pn-page-platform .v5-table .large-check input{
    width: 17px;
    height: 17px;
}
body.pn-app.pn-page-platform .v5-table .large-check span{
    font-size: 10px;
}
body.pn-app.pn-page-platform .v5-table .v5-actions{
    flex-wrap: nowrap;
}
body.pn-app.pn-page-platform .v5-table code{
    color: var(--text-secondary);
    font-size: 10px;
    white-space: nowrap;
}

body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .new-code-reveal{
    margin: 0 0 8px;
    padding: 9px 10px;
}
body.pn-app.pn-page-platform .pn-compat-platform-01{
    margin-bottom: 8px;
}
body.pn-app.pn-page-platform .pn-compat-platform-02{
    width: min(440px, 100%);
    max-width: 100%;
    min-height: 32px;
}

body.pn-app.pn-page-platform .platform-group-row td{
    background: var(--bg-selected);
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 700;
    padding: 6px 8px;
    border-top: 1px solid var(--border);
}
body.pn-app.pn-page-platform .platform-group-row{
    cursor: pointer;
    user-select: none;
}
body.pn-app.pn-page-platform .platform-group-row td::before{
    content: '\203A  ';
    color: var(--text-muted);
}
body.pn-app.pn-page-platform .platform-group-row.is-open td::before{
    content: '\2039  ';
}

@media (max-width: 980px){
    body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .page-heading{
        align-items: flex-start;
        flex-wrap: wrap;
    }
    body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .page-heading .v5-spacer{
        display: none;
    }
    body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .page-heading .panel-title-note{
        order: 3;
        width: 100%;
        max-width: none;
    }
    body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .back-tabs{
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
}
@media (max-width: 720px){
    body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-content{
        padding: 7px;
    }
    body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .page-heading{
        min-height: 0;
        padding: 9px;
    }
    body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .page-heading > .btn,
    body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .community-picker{
        width: 100%;
    }
    body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .back-tabs{
        padding: 2px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .back-tabs a{
        min-width: 0;
        white-space: normal;
        text-align: center;
    }
    body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-panel-body{
        padding: 8px;
    }
    body.pn-app.pn-page-backpanel .panel-title-tools{
        width: 100%;
        flex-wrap: wrap;
        margin: 3px 0 0;
    }
    body.pn-app.pn-page-backpanel .panel-title-tools select{
        flex: 1 1 150px;
        min-width: 0;
    }


}


body.pn-app.pn-page-devpanel .v5-content{
    width:min(980px,100%);
    max-width:none;
    margin-inline:auto;
    padding:10px 10px 24px;
}
body.pn-app.pn-page-devpanel .page-heading{
    min-height:58px;
    margin:0 0 8px;
    padding:10px 12px;
    align-items:center;
    border:1px solid var(--border);
    background:var(--bg-surface);
}
body.pn-app.pn-page-devpanel .page-heading h1{
    margin:0 0 3px;
    color:var(--text-primary);
    font-size:18px;
    line-height:1.1;
    letter-spacing:.2px;
}
body.pn-app.pn-page-devpanel .page-heading .v5-muted{
    font-size:10px;
    line-height:1.45;
}
body.pn-app.pn-page-devpanel .page-heading>.btn{
    flex:0 0 auto;
    width:auto;
    min-width:118px;
}
body.pn-app.pn-page-devpanel .v5-alert{
    margin:0 0 8px;
    padding:9px 10px;
    border:1px solid var(--border);
}
body.pn-app.pn-page-devpanel .v5-panel{
    margin:0 0 8px;
    border-color:var(--border);
    background:var(--bg-surface);
}
body.pn-app.pn-page-devpanel .v5-panel-title{
    min-height:34px;
    padding:8px 10px;
    background:var(--bg-body);
    color:var(--text-secondary);
}
body.pn-app.pn-page-devpanel .v5-panel-body{
    padding:10px;
}
body.pn-app.pn-page-devpanel .dev-launch-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
body.pn-app.pn-page-devpanel .dev-community-select{
    grid-template-columns:150px minmax(0,1fr);
    gap:8px;
    padding:9px;
    border-color:var(--border);
    background:var(--bg-body);
}
body.pn-app.pn-page-devpanel .dev-community-select select{
    min-height:32px;
    height:32px;
    padding:6px 8px;
    border-color:var(--border);
    background:var(--bg-input);
    color:var(--text-primary);
    font-size:11px;
}
body.pn-app.pn-page-devpanel .dev-community-select select:focus{
    outline:none;
    border-color:var(--border-focus);
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border-focus) 34%,transparent);
}
body.pn-app.pn-page-devpanel .role-launch{
    min-height:96px;
    padding:11px;
    border:1px solid var(--border);
    background:var(--bg-surface-alt);
}
body.pn-app.pn-page-devpanel .role-launch:hover{
    border-color:var(--border-focus);
    background:var(--bg-selected);
}

body.pn-app.pn-page-backpanel .community-admin-content{
    width:min(1800px,100%);
    max-width:none;
    margin-inline:auto;
    padding-bottom:22px;
}
body.pn-app.pn-page-backpanel .admin-panel{
    margin:0 0 8px;
}
body.pn-app.pn-page-backpanel .community-picker{
    min-width:240px;
    margin:0;
    color:var(--text-muted);
    font-size:9px;
    letter-spacing:.3px;
}
body.pn-app.pn-page-backpanel .community-picker .community-switch{
    width:100%;
    min-height:32px;
    height:32px;
    margin-top:4px;
}
body.pn-app.pn-page-backpanel .admin-tabs{
    margin:0 0 8px;
}

body.pn-app.pn-page-backpanel .admin-settings-grid{
    gap:8px;
    margin:0;
}
body.pn-app.pn-page-backpanel .setting-card{
    min-height:0;
    padding:10px;
    border:1px solid var(--border);
    background:var(--bg-surface);
}
body.pn-app.pn-page-backpanel .setting-card label{
    margin:0 0 5px;
    color:var(--text-muted);
    font-size:9px;
    font-weight:700;
    letter-spacing:.3px;
    text-transform:uppercase;
}
body.pn-app.pn-page-backpanel .setting-card :is(input:not([type="checkbox"]):not([type="radio"]),select){
    width:100%;
    min-width:0;
}
body.pn-app.pn-page-backpanel .setting-card small{
    display:block;
    margin-top:5px;
    color:var(--text-muted);
    font-size:9px;
    line-height:1.4;
}
body.pn-app.pn-page-backpanel .secret-input-row{
    display:flex;
    align-items:stretch;
    gap:6px;
    min-width:0;
}
body.pn-app.pn-page-backpanel .secret-input-row>input{
    flex:1 1 auto;
    min-width:0;
}
body.pn-app.pn-page-backpanel .delete-key{
    display:inline-flex;
    flex:0 0 auto;
    min-height:32px;
    align-items:center;
    gap:5px;
    margin:0;
    padding:5px 8px;
    border:1px solid var(--border);
    background:var(--bg-body);
    color:var(--text-muted);
    font-size:9px;
    white-space:nowrap;
}
body.pn-app.pn-page-backpanel .delete-key input{
    width:15px;
    height:15px;
    margin:0;
}











body.pn-app.pn-page-backpanel .admin-row-action .btn,
body.pn-app.pn-page-backpanel .admin-edit-toggle{
    min-width:64px;
}
body.pn-app.pn-page-backpanel .empty-admin-state{
    margin:0;
    padding:14px;
    border:0;
    background:var(--bg-body);
    color:var(--text-muted);
    font-size:10px;
    text-align:center;
}

body.pn-app.pn-page-backpanel .admin-details{
    margin:8px 0 0;
    padding:0;
    border:1px solid var(--border);
    background:var(--bg-body);
}
body.pn-app.pn-page-backpanel .admin-details>summary{
    min-height:34px;
    padding:8px 10px;
    color:var(--text-secondary);
    font-size:10px;
    font-weight:700;
    letter-spacing:.3px;
}
body.pn-app.pn-page-backpanel .admin-details>summary:hover{
    background:var(--bg-surface-alt);
    color:var(--text-primary);
}
body.pn-app.pn-page-backpanel .admin-details>p,
body.pn-app.pn-page-backpanel .details-help{
    padding:0 10px 10px;
    color:var(--text-muted);
    font-size:9px;
    line-height:1.5;
}
body.pn-app.pn-page-backpanel .code-generator{
    gap:8px;
    margin:0 0 8px;
    padding:10px;
    border:1px solid var(--border);
    background:var(--bg-body);
}
body.pn-app.pn-page-backpanel .generate-button-cell .btn{
    width:auto;
    min-width:100px;
}
body.pn-app.pn-page-backpanel .role-help-grid span,
body.pn-app.pn-page-backpanel .codeplug-guide-grid>div{
    border-color:var(--border);
    background:var(--bg-surface);
}


body.pn-app.pn-page-backpanel .item-secondary-actions{
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid var(--border);
}

body.pn-app.pn-page-backpanel .panel-title-tools{
    display:flex;
    align-items:center;
    gap:6px;
    margin:-3px 0;
    color:var(--text-muted);
    font-size:9px;
}
body.pn-app.pn-page-backpanel .panel-title-tools select{
    min-width:150px;
    height:30px;
    min-height:30px;
    padding:4px 7px;
}
body.pn-app.pn-page-backpanel .panel-title-tools .btn{
    min-height:30px;
    padding:4px 8px;
}

@media (max-width:980px){
    body.pn-app.pn-page-devpanel .page-heading{
        align-items:flex-start;
        flex-wrap:wrap;
    }
    body.pn-app.pn-page-devpanel .page-heading .v5-spacer{
        display:none;
    }
    body.pn-app.pn-page-backpanel .community-picker{
        width:100%;
        min-width:0;
    }
}
@media (max-width:720px){
    body.pn-app.pn-page-devpanel .v5-content{
        padding:7px;
    }
    body.pn-app.pn-page-devpanel .page-heading{
        min-height:0;
        padding:9px;
    }
    body.pn-app.pn-page-devpanel .page-heading>.btn{
        width:100%;
    }
    body.pn-app.pn-page-devpanel .dev-launch-grid{
        grid-template-columns:1fr;
    }
    body.pn-app.pn-page-devpanel .dev-community-select{
        grid-template-columns:1fr;
    }
    body.pn-app.pn-page-backpanel .secret-input-row{
        flex-direction:column;
    }
    body.pn-app.pn-page-backpanel .delete-key{
        width:100%;
    }
}



body.pn-app.pn-page-backpanel .admin-tabs a{
    min-height:31px;
    padding:6px 11px;
    font-size:10px;
    letter-spacing:.35px;
}
body.pn-app.pn-page-backpanel .admin-lead{
    margin:0 0 12px;
    color:var(--text-secondary);
    font-size:12px;
    line-height:1.55;
    overflow-wrap:anywhere;
}
body.pn-app.pn-page-backpanel .admin-lead-followon{
    margin-top:18px;
}


























body.pn-app.pn-page-backpanel .item-secondary-actions{
    margin-top:10px;
    padding-top:10px;
}

body.pn-app.pn-page-backpanel :is(.admin-lead,.details-help,.admin-details>p){
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
}

@media (max-width:980px){
    body.pn-app.pn-page-backpanel .community-admin-content{
        width:calc(100% - 14px);
    }




}

@media (max-width:620px){
    body.pn-app.pn-page-backpanel .community-admin-content{
        width:100%;
    }
    body.pn-app.pn-page-backpanel .v5-panel-body{
        padding:9px;
    }
    body.pn-app.pn-page-backpanel .admin-lead{
        font-size:11px;
    }


}


body.pn-app.pn-page-backpanel .community-admin-content{
    width:min(1800px,100%);
    max-width:none;
    margin-inline:auto;
    padding:10px 10px 22px;
}

body.pn-app.pn-page-backpanel .community-table-scroll{
    margin:0;
    overflow:auto;
    scrollbar-gutter:stable;
}
body.pn-app.pn-page-backpanel .community-admin-table{
    width:100%;
    margin:0;
    table-layout:fixed;
    border-collapse:collapse;
}
body.pn-app.pn-page-backpanel .community-admin-table th,
body.pn-app.pn-page-backpanel .community-admin-table td{
    vertical-align:middle;
    text-align:left;
}
body.pn-app.pn-page-backpanel .community-admin-table td{
    padding:6px 7px;
    color:var(--text-secondary);
    font-size:11px;
    line-height:1.35;
    overflow-wrap:anywhere;
}
body.pn-app.pn-page-backpanel .community-admin-table strong{
    color:var(--text-primary);
    font-size:11px;
    font-weight:700;
}
body.pn-app.pn-page-backpanel .community-admin-table code{
    color:var(--text-secondary);
    font-size:11px;
    white-space:nowrap;
}
body.pn-app.pn-page-backpanel .community-admin-table .table-input{
    width:100%;
    min-width:0;
}
body.pn-app.pn-page-backpanel .admin-table-subtext{
    margin-top:3px;
    font-size:10px;
    line-height:1.3;
    white-space:normal;
}
body.pn-app.pn-page-backpanel .admin-check-cell,
body.pn-app.pn-page-platform .admin-check-cell{
    text-align:center;
}
body.pn-app.pn-page-backpanel .admin-check-cell input[type="checkbox"],
body.pn-app.pn-page-platform .admin-check-cell input[type="checkbox"]{
    display:block;
    width:18px;
    height:18px;
    margin:0 auto;
    accent-color:var(--btn-primary-bg);
}
body.pn-app.pn-page-backpanel .admin-check-cell.is-na input[type="checkbox"],
body.pn-app.pn-page-platform .admin-check-cell.is-na input[type="checkbox"]{
    display:none;
}
body.pn-app.pn-page-backpanel .admin-check-cell.is-na::after,
body.pn-app.pn-page-platform .admin-check-cell.is-na::after{
    content:"\2014";
    color:var(--text-muted);
    font-size:11px;
}
body.pn-app.pn-page-backpanel .community-table-actions{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    flex-wrap:nowrap;
    min-width:max-content;
}
body.pn-app.pn-page-backpanel .community-table-actions form{
    display:inline-flex;
    margin:0;
}
body.pn-app.pn-page-backpanel .community-table-actions .btn{
    margin:0;
}

body.pn-app.pn-page-backpanel .community-users-table{min-width:1120px;}
body.pn-app.pn-page-backpanel .community-users-table :is(th,td):nth-child(1){width:19%;}
body.pn-app.pn-page-backpanel .community-users-table :is(th,td):nth-child(2){width:10%;}
body.pn-app.pn-page-backpanel .community-users-table :is(th,td):nth-child(3){width:18%;}
body.pn-app.pn-page-backpanel .community-users-table :is(th,td):nth-child(n+4):nth-child(-n+8){width:7%;text-align:center;}
body.pn-app.pn-page-backpanel .community-users-table :is(th,td):nth-child(9){width:18%;}

body.pn-app.pn-page-backpanel .community-departments-table{min-width:900px;}
body.pn-app.pn-page-backpanel .community-departments-table :is(th,td):nth-child(1){width:12%;}
body.pn-app.pn-page-backpanel .community-departments-table :is(th,td):nth-child(2){width:30%;}
body.pn-app.pn-page-backpanel .community-departments-table :is(th,td):nth-child(3){width:18%;}
body.pn-app.pn-page-backpanel .community-departments-table :is(th,td):nth-child(4){width:13%;}
body.pn-app.pn-page-backpanel .community-departments-table :is(th,td):nth-child(5){width:27%;}

body.pn-app.pn-page-backpanel .community-codes-table{min-width:780px;}
body.pn-app.pn-page-backpanel .community-codes-table :is(th,td):nth-child(1){width:18%;}
body.pn-app.pn-page-backpanel .community-codes-table :is(th,td):nth-child(2){width:21%;}
body.pn-app.pn-page-backpanel .community-codes-table :is(th,td):nth-child(3){width:25%;}
body.pn-app.pn-page-backpanel .community-codes-table :is(th,td):nth-child(4){width:13%;}
body.pn-app.pn-page-backpanel .community-codes-table :is(th,td):nth-child(5){width:23%;}

body.pn-app.pn-page-backpanel .community-codeplugs-table{min-width:820px;}
body.pn-app.pn-page-backpanel .community-codeplugs-table :is(th,td):nth-child(1){width:23%;}
body.pn-app.pn-page-backpanel .community-codeplugs-table :is(th,td):nth-child(2){width:11%;}
body.pn-app.pn-page-backpanel .community-codeplugs-table :is(th,td):nth-child(3){width:31%;}
body.pn-app.pn-page-backpanel .community-codeplugs-table :is(th,td):nth-child(4){width:17%;}
body.pn-app.pn-page-backpanel .community-codeplugs-table :is(th,td):nth-child(5){width:18%;}

body.pn-app.pn-page-backpanel .admin-table-editor-row[hidden]{display:none;}
body.pn-app.pn-page-backpanel .admin-table-editor-row>td{
    padding:10px 7px;
    border-top:1px solid var(--border);
    background:var(--bg-body);
}
body.pn-app.pn-page-backpanel .admin-table-editor-row:hover>td{
    background:var(--bg-body);
}
body.pn-app.pn-page-backpanel .admin-table-editor-row .compact-form{
    gap:10px 12px;
}
body.pn-app.pn-page-backpanel .admin-table-editor-row .item-secondary-actions{
    margin-top:10px;
    padding-top:10px;
}

body.pn-app.pn-page-backpanel .admin-lead{
    margin:0 0 12px;
    color:var(--text-secondary);
    font-size:12px;
    line-height:1.55;
}
body.pn-app.pn-page-backpanel .panel-title-tools{
    justify-content:flex-start;
}
body.pn-app.pn-page-backpanel .panel-title-tools label{
    flex:0 0 auto;
    margin:0;
    color:var(--text-muted);
    font-size:9px;
}
body.pn-app.pn-page-backpanel .panel-title-tools select{
    width:220px;
    min-width:220px;
}

@media (max-width:900px){
    body.pn-app.pn-page-backpanel .community-admin-content{
        width:100%;
        padding:8px 8px 20px;
    }
    body.pn-app.pn-page-backpanel .community-admin-table{
        table-layout:fixed;
    }
}



body.pn-app.pn-page-backpanel .admin-lead-followon{
    margin-top:24px;
    padding-top:16px;
    border-top:1px solid var(--border);
}
body.pn-app.pn-page-backpanel .admin-lead-followon + .admin-settings-grid{
    margin-top:10px;
}

body.pn-app.pn-page-backpanel .admin-details[open] > summary{
    border-bottom:1px solid var(--border);
    background:var(--bg-surface-alt);
}
body.pn-app.pn-page-backpanel .admin-details > form.compact-form,
body.pn-app.pn-page-backpanel .admin-details > .compact-form{
    margin:0;
    padding:12px;
    gap:10px 12px;
}
body.pn-app.pn-page-backpanel .admin-details > .details-help{
    margin:0;
    padding:11px 12px 0;
    font-size:10px;
    line-height:1.5;
}
body.pn-app.pn-page-backpanel .admin-details > p{
    margin:0;
    padding:11px 12px 0;
}
body.pn-app.pn-page-backpanel .admin-details > p + .compact-form{
    padding-top:10px;
}
body.pn-app.pn-page-backpanel .add-item-details .form-actions{
    padding-top:2px;
}

body.pn-app.pn-page-backpanel .codeplug-guide-details > .codeplug-guide-grid{
    margin:0;
    padding:12px;
    gap:12px;
    align-items:stretch;
}
body.pn-app.pn-page-backpanel .codeplug-guide-card{
    min-width:0;
    padding:0;
    border:1px solid var(--border);
    background:var(--bg-surface);
    overflow:hidden;
}
body.pn-app.pn-page-backpanel .codeplug-guide-card > h3{
    margin:0;
    padding:9px 11px;
    border-bottom:1px solid var(--border);
    background:var(--bg-body);
    color:var(--text-secondary);
    font-size:10px;
    font-weight:700;
    letter-spacing:.35px;
    text-transform:uppercase;
}
body.pn-app.pn-page-backpanel .codeplug-guide-card dl{
    display:grid;
    grid-template-columns:minmax(108px,132px) minmax(0,1fr);
    gap:0;
    margin:0;
    padding:10px;
    font-size:11px;
    line-height:1.45;
}
body.pn-app.pn-page-backpanel .codeplug-guide-card dt,
body.pn-app.pn-page-backpanel .codeplug-guide-card dd{
    min-width:0;
    margin:0;
    padding:9px 10px;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
}
body.pn-app.pn-page-backpanel .codeplug-guide-card dt{
    background:var(--bg-body);
    color:var(--text-primary);
    font-weight:700;
}
body.pn-app.pn-page-backpanel .codeplug-guide-card dd{
    border-right:0;
    background:var(--bg-surface-alt);
    color:var(--text-secondary);
}
body.pn-app.pn-page-backpanel .codeplug-guide-card dt:nth-last-of-type(1),
body.pn-app.pn-page-backpanel .codeplug-guide-card dd:nth-last-of-type(1){
    border-bottom:0;
}
body.pn-app.pn-page-backpanel .codeplug-guide-card.is-example{
    display:flex;
    flex-direction:column;
}
body.pn-app.pn-page-backpanel .codeplug-guide-card .codeplug-example{
    flex:1 1 auto;
    min-height:235px;
    margin:10px 10px 0;
    padding:12px;
    border:1px solid var(--border);
    background:var(--bg-deep);
    color:var(--deep-ink);
    font:11px/1.55 Consolas,Monaco,monospace;
    white-space:pre;
    overflow:auto;
}
body.pn-app.pn-page-backpanel .codeplug-guide-card > .field-note{
    margin:0;
    padding:9px 10px 10px;
}

body.pn-app.pn-page-backpanel .v5-panel-body > form.compact-form{
    margin-inline:0;
}

@media (max-width:850px){
    body.pn-app.pn-page-backpanel .codeplug-guide-card dl{
        grid-template-columns:1fr;
    }
    body.pn-app.pn-page-backpanel .codeplug-guide-card dt,
    body.pn-app.pn-page-backpanel .codeplug-guide-card dd{
        border-right:0;
    }
    body.pn-app.pn-page-backpanel .codeplug-guide-card dt{
        border-bottom:0;
    }
    body.pn-app.pn-page-backpanel .codeplug-guide-card dd{
        border-bottom:1px solid var(--border);
    }
    body.pn-app.pn-page-backpanel .codeplug-guide-card dd:nth-last-of-type(1){
        border-bottom:0;
    }
}

body.pn-app .header-meta{
    min-width:0;
    flex-shrink:1;
}
body.pn-app .header-meta-item{
    min-width:0;
}
body.pn-app .header-community-meta{
    flex:0 1 auto;
}
body.pn-app .header-community-meta .header-meta-value{
    max-width:min(48ch, 40vw);
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
body.pn-app .header-unit-meta{
    flex:0 0 auto;
}
body.pn-app .header-unit-meta .header-meta-value{
    max-width:14ch;
}
body.pn-app.pn-page-backpanel .admin-lead-followon{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
}

@media (max-width:980px){
    body.pn-app .header-community-meta .header-meta-value{
        max-width:26ch;
    }
}

body.pn-app .cad-call-head{
    display:grid;
    grid-template-columns:max-content minmax(0,1fr) max-content;
    align-items:start;
    gap:6px;
}
body.pn-app .cad-call-head > .cad-call-type{
    min-width:0;
    overflow-wrap:anywhere;
}
body.pn-app .cad-call-head-meta{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    white-space:nowrap;
}
body.pn-app .cad-call-case{
    white-space:nowrap;
}

@container (max-width: 430px){
    body.pn-app .cad-call-head{
        grid-template-columns:max-content minmax(0,1fr);
    }
    body.pn-app .cad-call-head-meta{
        grid-column:2;
        justify-content:flex-start;
        flex-wrap:wrap;
        row-gap:4px;
    }
}
body.pn-app #callList{
    container-type:inline-size;
}

body.pn-app .cad-call-head{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr) max-content;
    align-items:start;
}
body.pn-app .cad-call-head-meta{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    min-width:0;
}
body.pn-app .cad-call-case{
    white-space:nowrap;
    text-align:right;
}
body.pn-app .cad-call-location-row{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:10px;
    min-width:0;
}
body.pn-app .cad-call-location-row .cad-call-location{
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
body.pn-app .cad-call-location-row .cad-call-age{
    flex:0 0 auto;
    margin-left:auto;
    text-align:right;
}
body.pn-app .cad-call-state{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-width:0;
    overflow:hidden;
}
body.pn-app .cad-call-service{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
body.pn-app .cad-call-state .v5-badge{
    flex:0 0 auto;
}
body.pn-app .cad-call-units{
    flex:0 1 auto;
    text-align:right;
}

body.pn-app .unit-list-row{
    grid-template-columns:62px minmax(0, 1fr) max-content 84px;
}
body.pn-app .unit-badges{
    display:inline-flex;
    align-items:center;
    justify-self:end;
    gap:4px;
    min-width:0;
    white-space:nowrap;
}
body.pn-app .unit-badges .v5-badge{
    max-width:100px;
}
body.pn-app .unit-secondline .unit-stale{
    color:inherit;
    font-size:inherit;
    font-weight:inherit;
    line-height:inherit;
}

@media(max-width:700px){
    body.pn-app .cad-call-head{
        grid-template-columns:auto minmax(0, 1fr);
    }
    body.pn-app .cad-call-head-meta{
        grid-column:2;
        justify-content:flex-start;
    }
    body.pn-app .cad-call-location-row{
        align-items:flex-start;
    }
    body.pn-app .unit-list-row{
        grid-template-columns:62px minmax(0, 1fr) max-content;
    }
    body.pn-app .unit-list-row .status{
        grid-column:3;
    }
}


body.pn-app .cad-call-state{
    gap:6px;
}
body.pn-app .unit-badges{
    justify-self:end;
}
body.pn-app .unit-badges .unit-sup-placeholder{
    visibility:hidden;
    pointer-events:none;
}
body.pn-app .unit-badges .unit-dept{
    flex:0 0 auto;
}



body.pn-app .unit-list-row{
    position:relative;
    grid-template-columns:62px minmax(0,1fr) 84px;
}
body.pn-app .unit-list-row .unit-badge-group{
    position:absolute;
    left:44%;
    top:7px;
    width:66px;
    min-width:66px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    pointer-events:none;
}
body.pn-app .unit-list-row .unit-dept{
    display:inline-flex;
    justify-content:center;
    max-width:66px;
    overflow:hidden;
    text-overflow:ellipsis;
    pointer-events:auto;
}
body.pn-app .unit-list-row .unit-sup{
    position:absolute;
    right:calc(100% + 5px);
    top:50%;
    transform:translateY(-50%);
    pointer-events:auto;
}
body.pn-app .unit-list-row .unit-sup-placeholder{
    visibility:hidden;
    pointer-events:none;
}
body.pn-app .unit-list-row .status{
    grid-column:3;
    justify-self:end;
}
@media(max-width:700px){
    body.pn-app .unit-list-row .unit-badge-group{
        position:relative;
        left:auto;
        top:auto;
        transform:none;
        grid-column:2;
        grid-row:2;
        justify-self:center;
        margin-top:2px;
    }
    body.pn-app .unit-list-row .status{
        grid-column:3;
        grid-row:1;
    }
}

body.pn-app .note{
    grid-template-columns:68px minmax(56px,90px) minmax(0,1fr);
}
body.pn-app .note > span:first-child{
    white-space:nowrap;
    overflow-wrap:normal;
}

body.pn-app .unit-list-row{
    position: relative;
    grid-template-columns: 62px minmax(0, 1fr) clamp(110px, 24%, 140px) 84px;
}
body.pn-app .unit-list-row .unit-badge-group{
    position: static;
    left: auto;
    top: auto;
    width: auto;
    min-width: 0;
    transform: none;
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    white-space: nowrap;
    pointer-events: auto;
}
body.pn-app .unit-list-row .unit-sup{
    position: static;
    right: auto;
    top: auto;
    transform: none;
    flex: 0 0 auto;
    pointer-events: auto;
}
body.pn-app .unit-list-row .unit-dept{
    display: inline-flex;
    justify-content: flex-start;
    max-width: 76px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: auto;
}
body.pn-app .unit-list-row .unit-sup-placeholder{
    visibility: hidden;
    pointer-events: none;
}
body.pn-app .unit-list-row .status{
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
}
body.pn-app .unit-list-row .unit-secondline{
    grid-column: 1 / -1;
}
body.pn-app .unit-list-row .unit-secondline .unit-stale{
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    margin-left: auto;
    text-align: right;
}
@media(max-width:700px){
    body.pn-app .unit-list-row{
        grid-template-columns: 58px minmax(0, 1fr) clamp(102px, 29%, 126px) auto;
    }
    body.pn-app .unit-list-row .unit-badge-group{
        grid-column: 3;
        grid-row: 1;
        justify-self: start;
        margin-top: 0;
    }
    body.pn-app .unit-list-row .status{
        grid-column: 4;
        grid-row: 1;
    }
}

body.pn-app .subdivision-tags{
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 5px;
    min-height: 20px;
}
body.pn-app .subdivision-remove,
body.pn-app .unit-detach{
    background: none;
    border: 0;
    padding: 0 0 0 5px;
    margin: 0;
    font: inherit;
    font-weight: 700;
    color: inherit;
    cursor: pointer;
    line-height: 1;
}
body.pn-app .subdivision-remove:hover,
body.pn-app .unit-detach:hover{
    color: var(--status-red);
}



body.pn-app .unit-name{font-size:12px}

body.pn-app .toolbar-btn.active:hover:not(:disabled),
body.pn-app .toolbar-btn.auto-choice:hover:not(:disabled){
    background:var(--btn-primary-hover);
    border-color:var(--btn-primary-border);
    color:var(--text-white);
}

body.pn-app .call-detail-layout{overflow:hidden}
body.pn-app .call-detail-fixed{flex:0 1 auto;min-height:0;max-height:calc(100vh - 300px);overflow:auto;scrollbar-gutter:stable}
body.pn-app .call-notes-box{min-height:0}

body.pn-app .routing-fields-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 142px minmax(130px,1fr);
    gap:8px;
    align-items:end;
}
body.pn-app .routing-fields-row.has-announcement{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) 142px minmax(130px,1fr);
}
body.pn-app .routing-fields-row>div{min-width:0}
body.pn-app .routing-subdivision-control{
    display:grid;
    grid-template-columns:100px auto;
    gap:4px;
    align-items:stretch;
}
body.pn-app .routing-subdivision-picker select{
    width:100px;
    min-width:100px;
    max-width:100px;
}
body.pn-app .routing-supervisor{
    display:flex;
    align-items:flex-end;
    min-height:49px;
}
body.pn-app .routing-supervisor .check-label{
    width:100%;
    min-height:30px;
    margin:0;
    align-items:center;
}
body.pn-app .subdivision-req{padding-top:2px}
body.pn-app .edit-call-modal{width:min(620px,95vw)}

@media(max-width:700px){
    body.pn-app .routing-fields-row,
    body.pn-app .routing-fields-row.has-announcement{grid-template-columns:1fr}
    body.pn-app .routing-supervisor{min-height:30px;align-items:center}
}

body.pn-app textarea{
    resize:none!important;
    overflow:auto;
}
body.pn-page-civilian .emergency-box textarea.form-input{
    width:100%;
    max-width:420px;
}

body.pn-page-history .history-column-head{
    position:sticky;
    top:0;
    z-index:2;
}
body[class] .pn-compat-history-07{font-size:12px}


body.pn-app .pn-workspace{display:contents;}
body.pn-app .pn-shell-hidden{display:none!important;}

body.pn-page-bolos #bolosContent{display:contents;}

body.pn-app[data-cad-page="dispatch"] .dispatch-active,
body.pn-app[data-cad-page="dispatch"] .dispatch-tabs{
    flex:0 0 auto;
}
body.pn-app[data-cad-page="dispatch"] #cadWorkspace{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
body.pn-app[data-cad-page="dispatch"] #cadWorkspace[hidden],
body.pn-app[data-cad-page="dispatch"] #radioWorkspace[hidden]{
    display:none!important;
}
body.pn-app[data-cad-page="dispatch"] #cadWorkspace>.v5-shell{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
}
body.pn-app[data-cad-page="dispatch"] #cadWorkspace .cad-main-grid{
    flex:1 1 auto;
    min-height:0;
    height:100%;
    overflow:hidden;
}
body.pn-app[data-cad-page="dispatch"] #cadWorkspace .cad-main-grid>.v5-panel{
    min-height:0;
    overflow:hidden;
}
body.pn-app[data-cad-page="dispatch"] #cadWorkspace .cad-main-grid>.v5-panel>.v5-panel-body{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
}
body.pn-app[data-cad-page="dispatch"] #cadWorkspace .cad-detail-body{
    overflow:hidden!important;
}
body.pn-app[data-cad-page="dispatch"] #cadWorkspace .cad-detail-empty{
    flex:1 1 auto;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:0;
    padding:24px;
    text-align:center;
}
body.pn-app .call-detail-layout{
    max-height:100%;
}
body.pn-app .call-notes-box{
    min-height:150px;
    overflow:hidden;
}
body.pn-app .call-notes-scroll{
    min-height:0;
    overflow:auto;
}

@media(max-width:1050px){
    body.pn-app[data-cad-page="dispatch"] #cadWorkspace .cad-main-grid{
        grid-template-rows:minmax(260px,auto) minmax(560px,auto) minmax(260px,auto);
        min-height:100%;
        overflow-x:hidden;
        overflow-y:auto;
        scrollbar-gutter:stable;
    }
    body.pn-app[data-cad-page="dispatch"] #cadWorkspace .cad-detail-body{
        min-height:0;
    }
}

body.pn-page-bolos .warrant-bolo-card{cursor:default}
body.pn-page-civilian .emergency-box .pn-compat-civilian-06{
    display:block;
    width:100%;
    max-width:none;
    box-sizing:border-box;
}
body.pn-app .pn-warrant-record .pn-review-identity{display:flex;align-items:center;gap:7px;min-width:0}
body.pn-app .pn-warrant-record .pn-review-identity{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.pn-app .pn-warrant-cancel-form{margin-top:8px}
.pn-report-doc .warrant-subject-actions .row-action{align-self:flex-start;margin-top:2px}







.pn-banner-stack{ position: fixed; right: 14px; bottom: 14px; z-index: 900;
    display: flex; flex-direction: column; gap: 8px; width: min(380px, calc(100vw - 28px));
    pointer-events: none; }
.pn-banner-stack > *{ pointer-events: auto; }
body.pn-app .pn-banner{ display: flex; align-items: flex-start; gap: 9px; margin: 0;
    padding: 9px 10px; border-radius: 4px; background: var(--bg-surface);
    box-shadow: 0 6px 18px rgba(0,0,0,.30); animation: pn-banner-in .16s ease-out; }
@keyframes pn-banner-in{ from{ opacity: 0; transform: translateY(6px); } to{ opacity: 1; transform: none; } }
body.pn-app .pn-banner.is-leaving{ opacity: 0; transform: translateY(4px); transition: opacity .16s, transform .16s; }
body.pn-app .pn-banner-icon{ flex: none; font-size: 12px; line-height: 16px; color: var(--text-secondary); }
body.pn-app .pn-banner.info .pn-banner-icon{ color: var(--status-blue); }
body.pn-app .pn-banner.success .pn-banner-icon{ color: var(--status-green); }
body.pn-app .pn-banner.warn .pn-banner-icon{ color: var(--status-amber); }
body.pn-app .pn-banner.danger .pn-banner-icon{ color: var(--status-red); }
body.pn-app .pn-banner-content{ flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
body.pn-app .pn-banner-title{ font-size: 11px; font-weight: 700; letter-spacing: .03em;
    color: var(--text-primary); overflow-wrap: anywhere; }
body.pn-app .pn-banner-body{ font-size: 11px; color: var(--text-secondary); overflow-wrap: anywhere; }

body.pn-app .pn-banner-actions{ display: flex; justify-content: flex-start; gap: 6px; margin-top: 4px; }
body.pn-app .pn-banner-close{ flex: none; appearance: none; background: none; border: 0;
    color: var(--text-secondary); font-size: 14px; line-height: 14px; cursor: pointer; padding: 0 2px; }
body.pn-app .pn-banner-close:hover{ color: var(--text-primary); }
@media (max-width: 640px){
    .pn-banner-stack{ right: 8px; left: 8px; bottom: 8px; width: auto; }
}
@media (prefers-reduced-motion: reduce){
    body.pn-app .pn-banner{ animation: none; }
    body.pn-app .pn-banner.is-leaving{ transition: none; }
    body.pn-app .pn-alert-pulse{ animation: none; box-shadow: inset 3px 0 0 var(--pn-pulse-color); }
}


body.pn-app .suggest-panel:empty{ display: none; }
body.pn-app .suggest-panel{ margin-top: 8px; border: 1px solid var(--border);
    border-left: 3px solid var(--status-blue); background: var(--bg-body); padding: 7px 9px; }
body.pn-app .suggest-head{ display: flex; align-items: center; gap: 6px; font-size: 10px;
    font-weight: 700; letter-spacing: .04em; color: var(--text-secondary); margin-bottom: 6px; }
body.pn-app .suggest-note{ font-weight: 400; letter-spacing: 0; }
body.pn-app .suggest-empty{ padding: 2px 0 4px; }
body.pn-app .suggest-row{ display: flex; align-items: center; gap: 8px; padding: 4px 0;
    border-top: 1px solid var(--border); font-size: 11px; }
body.pn-app .suggest-row:first-of-type{ border-top: 0; }
body.pn-app .suggest-row.is-committed{ opacity: .62; }
body.pn-app .suggest-rank{ flex: none; width: 16px; text-align: center; font-weight: 700;
    color: var(--text-secondary); }
body.pn-app .suggest-unit{ flex: none; min-width: 92px; }

body.pn-app .suggest-reasons{ flex: 1; display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
body.pn-app .suggest-reason{ display: inline-flex; padding: 1px 5px; border: 1px solid var(--border);
    font-size: 10px; color: var(--text-secondary); white-space: nowrap; }




body.pn-app .unit-location{ grid-column: 1 / -1; margin-top: 1px; font-size: 10px;
    color: var(--text-secondary); letter-spacing: .02em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }


body.pn-app .unit-location.is-stale{ opacity: .5; font-style: italic; }




body.pn-app .call-notes-box{ position: relative; }
body.pn-app .note-query-pane{ position: absolute; left: 8px; right: 8px; bottom: 8px;
    max-height: 86%; overflow: auto; margin: 0; padding: 0 8px 8px; z-index: 5;
    background: var(--bg-surface); border: 1px solid var(--border);
    box-shadow: 0 -8px 20px rgba(0,0,0,.28); }
body.pn-app .note-query-pane:empty{ display: none; }
body.pn-app .note-query-head{ display: flex; align-items: center; gap: var(--space-md);
    padding: 4px 2px 6px 0; position: sticky; top: 0; background: var(--bg-surface); z-index: 1; }
body.pn-app .note-query-head > strong{ flex: 1; letter-spacing: .04em;
    color: var(--text-secondary); }
body.pn-app .note-query-close{ flex: none; border: none;
    background: transparent; color: var(--text-muted); cursor: pointer;
    line-height: 1; padding: 2px 6px; min-height: 24px; font-size: 16px;
    display: inline-flex; align-items: center; justify-content: center; }
body.pn-app .note-query-close:hover{ color: var(--status-red); }
body.pn-app .note-query-card{ margin-bottom: 6px; }
body.pn-app .note-query-title{ display: flex; align-items: center; flex-wrap: wrap;
    gap: 5px; }
body.pn-app .note-query-name{ font-weight: 700; letter-spacing: .02em; }
body.pn-app .note-query-sub,
body.pn-app .note-query-detail{ font-size: 11px; color: var(--text-secondary);
    margin-top: 2px; }
body.pn-app .note-query-actions{ margin-top: 6px; }
body.pn-app .note-query-help-line{ display: flex; align-items: baseline; gap: 8px;
    font-size: 11px; padding: 2px 0; }
body.pn-app .note-query-help-line code{ flex: none; min-width: 132px; }




body.pn-app .stats-toolbar{ display: flex; align-items: flex-start; gap: 12px;
    flex-wrap: wrap; margin-bottom: 12px; }
body.pn-app .stats-toolbar .admin-lead{ flex: 1; min-width: 220px; margin: 0; }
body.pn-app .stats-range{ display: flex; gap: 4px; flex: none; }

body.pn-app .stats-tiles{ display: grid; gap: 8px; margin-bottom: 14px;
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)); }
body.pn-app .stat-tile{ display: flex; flex-direction: column; gap: 2px;
    padding: 10px 12px; border: 1px solid var(--border); background: var(--bg-body); }
body.pn-app .stat-value{ font-size: 22px; font-weight: 700; line-height: 1.1;
    color: var(--text-primary); font-variant-numeric: tabular-nums; }
body.pn-app .stat-label{ font-size: 10px; letter-spacing: .06em;
    color: var(--text-secondary); }
body.pn-app .stat-note{ font-size: 10px; color: var(--text-muted); }

body.pn-app .stats-block{ border: 1px solid var(--border); padding: 10px 12px 12px;
    margin-bottom: 10px; background: var(--bg-body); min-width: 0; }
body.pn-app .stats-block-head{ display: flex; align-items: baseline; gap: 8px;
    margin-bottom: 8px; }
body.pn-app .stats-block-head h3{ font-size: 11px; letter-spacing: .06em; margin: 0;
    color: var(--text-secondary); font-weight: 700; }
body.pn-app .stats-block-head .v5-spacer,
body.pn-app .stats-block-head span{ margin-left: auto; }



body.pn-app .stats-bars{ display: flex; align-items: flex-end; gap: 2px;
    height: 104px; border-bottom: 1px solid var(--border); }
body.pn-app .stats-bar-slot{ flex: 1 1 0; min-width: 2px; height: 100%;
    display: flex; align-items: flex-end; }
body.pn-app .stats-bar{ width: 100%; background: var(--status-blue);
    border-radius: 2px 2px 0 0; min-height: 0; }

body.pn-app .stats-bar.is-peak{ background: var(--text-primary); }
body.pn-app .stats-axis{ display: flex; justify-content: space-between;
    font-size: 10px; color: var(--text-muted); margin-top: 4px; }

body.pn-app .stats-columns{ display: grid; gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
body.pn-app .stats-table{ width: 100%; }
body.pn-app .stats-table th[scope="row"]{ text-align: left; font-weight: 400;
    white-space: nowrap; color: var(--text-primary); }
body.pn-app .stats-meter-cell{ width: 100%; }
body.pn-app .stats-meter{ display: block; height: 8px; width: 100%;
    background: var(--bg-surface); border: 1px solid var(--border); }
body.pn-app .stats-meter-fill{ display: block; height: 100%;
    background: var(--status-blue); }


body.pn-app .stats-meter-fill.tone-red{ background: var(--status-red); }
body.pn-app .stats-meter-fill.tone-amber{ background: var(--status-amber); }
body.pn-app .stats-meter-fill.tone-blue{ background: var(--status-blue); }
body.pn-app .stats-meter-fill.tone-green{ background: var(--status-green); }
body.pn-app .stats-count{ text-align: right; white-space: nowrap;
    font-variant-numeric: tabular-nums; color: var(--text-primary); }
body.pn-app .stats-empty{ padding: 26px 12px; }

@media (max-width: 720px){
    body.pn-app .stats-bars{ height: 72px; }
    body.pn-app .stat-value{ font-size: 18px; }
}






body.pn-app .cad-left-column{
    display: flex;
    flex-direction: column;
    gap: var(--cad-gap);
    min-height: 0;
    min-width: 0;
}
body.pn-app .cad-left-column>.v5-panel{ min-height: 0; overflow: hidden; }
body.pn-app .cad-left-column>.v5-panel:first-child{ flex: 1 1 auto; }
body.pn-app .cad-left-column>.v5-panel>.v5-panel-body{
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}
body.pn-app[data-cad-page="dispatch"] #cadWorkspace .cad-main-grid>.cad-left-column{
    min-height: 0;
    overflow: hidden;
}
@media(max-width:1050px){
    body.pn-app[data-cad-page="dispatch"] #cadWorkspace .cad-main-grid>.cad-left-column{
        overflow: visible;
    }
}



body.pn-app .replay-section .section-header{ display: flex; align-items: baseline; gap: 8px; }
body.pn-app .replay-summary{ margin-left: auto; font-size: 10px; color: var(--text-muted); letter-spacing: .06em; }

body.pn-app .replay-list{ list-style: none; margin: 0; padding: 0; }
body.pn-app .replay-entry{
    display: grid;
    grid-template-columns: 74px 1fr;
    gap: 10px;
    padding: 6px 0 6px 0;
    border-left: 2px solid var(--border);
    margin-left: 4px;
    padding-left: 10px;
}
body.pn-app .replay-entry.tone-success{ border-left-color: var(--status-green); }
body.pn-app .replay-entry.tone-warn{ border-left-color: var(--status-amber); }
body.pn-app .replay-entry.tone-danger{ border-left-color: var(--status-red); }
body.pn-app .replay-entry.tone-info{ border-left-color: var(--status-blue); }

body.pn-app .replay-rail{ display: flex; flex-direction: column; line-height: 1.25; }
body.pn-app .replay-offset{ font-size: 11px; color: var(--text-primary); letter-spacing: .04em; }
body.pn-app .replay-clock{ font-size: 10px; color: var(--text-muted); }

body.pn-app .replay-head{ display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
body.pn-app .replay-headline{ font-size: 11px; letter-spacing: .06em; color: var(--text-primary); }
body.pn-app .replay-actor{ font-size: 10px; letter-spacing: .06em; color: var(--status-blue); }

body.pn-app .replay-detail{ font-size: 12px; color: var(--text-secondary); line-height: 1.4; overflow-wrap: anywhere; }

@media(max-width:700px){
    body.pn-app .replay-entry{ grid-template-columns: 1fr; gap: 2px; }
    body.pn-app .replay-rail{ flex-direction: row; gap: 8px; }
}



body.pn-app .handoff-modal{ max-width: 720px; width: 92vw; }
body.pn-app .handoff-stamp{ font-size: 10px; letter-spacing: .06em; margin-left: 10px; }
body.pn-app .handoff-body{ max-height: 62vh; overflow: auto; }
body.pn-app .handoff-summary{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    row-gap:8px;
    margin-bottom:12px;
    padding-bottom:10px;
    border-bottom:1px solid var(--border);
}
body.pn-app .handoff-summary-range{
    margin-right:12px;
    padding-right:12px;
    border-right:1px solid var(--border);
    color:var(--text-muted);
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
}
body.pn-app .handoff-summary-item{
    display:inline-flex;
    align-items:baseline;
    gap:5px;
    margin-right:12px;
    padding-right:12px;
    border-right:1px solid var(--border);
    color:var(--text-muted);
    font-size:9px;
    font-weight:700;
    letter-spacing:.04em;
}
body.pn-app .handoff-summary-item:last-child{margin-right:0;padding-right:0;border-right:0}
body.pn-app .handoff-summary-item strong{color:var(--text-primary);font-size:14px;letter-spacing:0}
body.pn-app .handoff-empty{padding:28px 12px}
body.pn-app .handoff-section{ margin-bottom: 12px; }
body.pn-app .handoff-row{
    border-left: 2px solid var(--border);
    padding: 5px 0 5px 8px;
    margin-bottom: 5px;
}
body.pn-app .handoff-row.tone-danger{ border-left-color: var(--status-red); }
body.pn-app .handoff-row.tone-warn{ border-left-color: var(--status-amber); }
body.pn-app .handoff-row.tone-info{ border-left-color: var(--status-blue); }
body.pn-app .handoff-row-head{ display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
body.pn-app .handoff-case{ font-size: 11px; letter-spacing: .05em; color: var(--text-primary); }
body.pn-app .handoff-age{ margin-left: auto; font-size: 10px; color: var(--text-muted); }
body.pn-app .handoff-detail{ font-size: 12px; color: var(--text-secondary); line-height: 1.4; overflow-wrap: anywhere; }


body.pn-app .judicial-layout{
    display: grid;
    grid-template-columns: minmax(320px, 460px) minmax(0, 1fr);
    gap: 8px;
    padding: 8px;
    flex: 1;
    overflow: hidden;
}
body.pn-app .judicial-layout.is-calendar{ grid-template-columns: minmax(0, 1fr); }
body.pn-app .judicial-list-panel,
body.pn-app .judicial-case-panel,
body.pn-app .judicial-calendar-panel{ border: 1px solid var(--border); min-height: 0; }
body.pn-app .judicial-layout .v5-panel-title .inline-form{ margin-left: 0; }

body.pn-app .judicial-summary{
    padding: 8px;
    margin-bottom: 0;
    border-bottom: 1px solid var(--border);
    background: var(--bg-body);
    flex: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.pn-app .judicial-summary .stat-tile{ background: var(--bg-surface); }

body.pn-app .judicial-filter-row{
    display: flex;
    gap: 8px;
    padding: 8px;
    border-bottom: 1px solid var(--border);
    align-items: flex-end;
}
body.pn-app .judicial-filter-row .form-input{ height: var(--pn-control-height, 30px); padding: 5px 8px; font-size: 12px; }
body.pn-app .judicial-filter-row input[type="search"]{ flex: 1; min-width: 0; }
body.pn-app .judicial-filter-field{
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
body.pn-app .judicial-filter-search{ flex: 1; }
body.pn-app .judicial-filter-field .form-input{ width: 100%; }
body.pn-app .judicial-filter-label{
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--text-muted);
}
body.pn-app .judicial-filter-row .btn{ align-self: flex-end; height: var(--pn-control-height, 30px); }
body.pn-app .judicial-desk-chip{
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 8px 12px;
    border: 0;
    border-top: 1px solid var(--border);
    background: var(--bg-body);
    color: var(--text-secondary);
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-align: left;
    cursor: pointer;
}
body.pn-app .judicial-desk-chip:hover{ color: var(--text-primary); background: var(--bg-surface-alt); }
body.pn-app .judicial-desk-chip:focus-visible{ outline: 2px solid var(--border-focus); outline-offset: -2px; }
body.pn-app .judicial-dept-note{ margin: 8px; }

body.pn-app .judicial-nav-count{ margin-left: 4px; }
body.pn-app .judicial-warrant-actions{ display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
body.pn-app .judicial-warrant-actions .judicial-tool{ width: 100%; margin-top: 0; }

body.pn-app .judicial-list{ flex: 1; overflow-y: auto; min-height: 0; }
body.pn-app .judicial-list-divider{ margin: 10px 10px 0; padding-bottom: 4px; }
body.pn-app .judicial-list .judicial-decision-row{ margin: 6px 10px 0; }
body.pn-app .judicial-list .judicial-decision-row:last-child{ margin-bottom: 10px; }
body.pn-app .judicial-case-item{
    display: block;
    width: 100%;
    text-align: left;
    padding: 8px 10px;
    border: 0;
    border-bottom: 1px solid var(--border);
    border-left: 3px solid transparent;
    background: transparent;
    color: var(--text-primary);
    cursor: pointer;
}
body.pn-app .judicial-case-item:hover{ background: var(--bg-surface-alt); }
body.pn-app .judicial-case-item.selected{ background: var(--bg-selected); border-left-color: var(--status-blue); }
body.pn-app .judicial-case-top{ display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
body.pn-app .judicial-docket{ font-size: 11px; font-weight: 700; color: var(--text-primary); letter-spacing: .04em; }
body.pn-app .judicial-case-title{
    margin-top: 3px;
    font-size: 12px;
    color: var(--text-primary);
    overflow-wrap: anywhere;
}
body.pn-app .judicial-case-meta{ margin-top: 2px; font-size: 11px; color: var(--text-muted); letter-spacing: .03em; }

body.pn-app .judicial-case-body{ flex: 1; overflow-y: auto; min-height: 0; padding: 10px; }
body.pn-app .judicial-case-head{ margin-bottom: 10px; }
body.pn-app .judicial-docket-lg{ font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--status-blue); }
body.pn-app .judicial-case-heading{ margin: 2px 0 0; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
body.pn-app .judicial-case-subline{ margin-top: 2px; font-size: 11px; letter-spacing: .04em; color: var(--text-muted); }

body.pn-app .judicial-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
body.pn-app .judicial-box{
    background: var(--bg-surface-alt);
    border: 1px solid var(--border);
    padding: 8px 10px 10px;
    margin-bottom: 8px;
}
body.pn-app .judicial-grid > .judicial-box{ margin-bottom: 0; }
body.pn-app .judicial-danger-box{ border-color: var(--badge-red-b); }

body.pn-app .judicial-dl{ display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; font-size: 12px; }
body.pn-app .judicial-dl dt{ font-size: 10px; font-weight: 700; letter-spacing: .05em; color: var(--text-muted); text-transform: uppercase; margin-top: 9px; }
body.pn-app .judicial-dl dt:first-of-type{ margin-top: 0; }
body.pn-app .judicial-dl dd{ margin: 2px 0 0; color: var(--text-primary); overflow-wrap: anywhere; }
body.pn-app .judicial-longtext{ white-space: normal; line-height: 1.45; color: var(--text-secondary); }

body.pn-app .judicial-tool{ margin-top: 8px; }
body.pn-app .judicial-tool > summary{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: var(--pn-control-height, 30px);
    padding: 5px 12px;
    border: 1px solid var(--border-light);
    border-radius: 4px;
    background: var(--bg-input);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--text-primary);
    cursor: pointer;
    list-style: none;
}
body.pn-app .judicial-tool > summary::-webkit-details-marker{ display: none; }
body.pn-app .judicial-tool > summary::before{ content: '▸'; font-size: 9px; color: var(--text-muted); }
body.pn-app .judicial-tool[open] > summary::before{ content: '▾'; }
body.pn-app .judicial-tool > summary:hover{ border-color: var(--border-focus); background: var(--bg-selected); }
body.pn-app .judicial-tool > summary:focus-visible{ outline: 2px solid var(--border-focus); outline-offset: 1px; }
body.pn-page-judicial .judicial-tool > .compact-form,
body.pn-page-judicial .judicial-box > .compact-form{
    margin-top: 8px;
    padding: var(--space-md, 10px);
    border: 1px solid var(--border-light);
    border-radius: 4px;
    background: var(--bg-surface);
}
body.pn-app .judicial-tool .compact-form{ padding-bottom: 10px; }
body.pn-app .judicial-case-panel .form-actions{ display: flex; align-items: flex-end; gap: 7px; }
body.pn-app .judicial-case-panel tr.is-past td,
body.pn-app .judicial-case-panel tr.is-past code{ color: var(--text-muted); }

body.pn-app .judicial-week-label{ font-size: 11px; font-weight: 700; letter-spacing: .05em; color: var(--text-secondary); }
body.pn-app .judicial-calendar{
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 1px;
    background: var(--border);
    overflow: auto;
}
body.pn-app .judicial-day{ background: var(--bg-surface); display: flex; flex-direction: column; min-width: 0; }
body.pn-app .judicial-day.is-today{ background: var(--bg-selected); }
body.pn-app .judicial-day-head{
    display: flex;
    align-items: baseline;
    gap: 5px;
    padding: 6px 8px;
    border-bottom: 1px solid var(--border);
    background: var(--bg-body);
    position: sticky;
    top: 0;
    z-index: 1;
}
body.pn-app .judicial-day.is-today .judicial-day-head{ box-shadow: inset 0 2px 0 var(--status-blue); }
body.pn-app .judicial-day-name{ font-size: 11px; font-weight: 700; letter-spacing: .06em; color: var(--text-primary); }
body.pn-app .judicial-day-date{ font-size: 10px; color: var(--text-muted); }
body.pn-app .judicial-day-head .v5-badge{ margin-left: auto; }
body.pn-app .judicial-day-body{ flex: 1; padding: 6px; display: flex; flex-direction: column; gap: 5px; }
body.pn-app .judicial-day-empty{ color: var(--text-muted); font-size: 11px; text-align: center; padding-top: 6px; }

body.pn-app .judicial-slot{
    display: flex;
    flex-direction: column;
    gap: 1px;
    width: 100%;
    text-align: left;
    padding: 6px 7px;
    background: var(--bg-surface-alt);
    border: 1px solid var(--border);
    border-left: 3px solid var(--status-blue);
    color: var(--text-primary);
    cursor: pointer;
}
body.pn-app .judicial-slot:hover{ border-color: var(--border-focus); background: var(--bg-selected); }
body.pn-app .judicial-slot.type-criminal{ border-left-color: var(--badge-amber-b); }
body.pn-app .judicial-slot.type-civil{ border-left-color: var(--badge-green-b); }
body.pn-app .judicial-slot-time{ font-size: 12px; font-weight: 700; }
body.pn-app .judicial-slot-docket{ font-size: 11px; font-weight: 700; letter-spacing: .05em; color: var(--status-blue); }
body.pn-app .judicial-slot-title{ font-size: 11px; overflow-wrap: anywhere; }
body.pn-app .judicial-slot-meta{ font-size: 11px; color: var(--text-muted); overflow-wrap: anywhere; }

body.pn-app .civ-court-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-auto-rows: 1fr; gap: 8px; }
body.pn-app .civ-court-card{
    background: var(--bg-surface-alt);
    border: 0;
    border-left: 3px solid var(--status-blue);
    padding: 9px 11px;
}
body.pn-app .civ-court-card.is-civil{ border-left-color: var(--badge-green-b); }
body.pn-app .civ-court-card.needs-plea{ border-left-color: var(--badge-amber-b); }
body.pn-app .civ-court-head{ display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
body.pn-app .civ-court-title{ margin-top: 3px; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
body.pn-app .civ-court-meta{ margin-top: 2px; font-size: 11px; letter-spacing: .04em; color: var(--text-muted); }
body.pn-app .civ-court-body{ margin-top: 6px; font-size: 12px; color: var(--text-secondary); line-height: 1.45; }
body.pn-app .civ-court-plea{ margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--border); }
body.pn-app .civ-court-plea .tool-row{ display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
body.pn-app .civ-court-plea select{ flex: 1; min-width: 120px; background: var(--bg-input); border: 1px solid var(--border); color: var(--text-primary); padding: 6px; font: inherit; }

body.pn-app .civ-notice-list{ display: flex; flex-direction: column; gap: 4px; max-height: 420px; overflow-y: auto; }
body.pn-app .civ-notice{
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px 9px;
    background: var(--bg-surface-alt);
    border: 0;
    border-left: 3px solid var(--status-blue);
}
body.pn-app .civ-notice.is-unread{ background: var(--bg-selected); }
body.pn-app .civ-notice.tone-warn{ border-left-color: var(--badge-amber-b); }
body.pn-app .civ-notice.tone-danger{ border-left-color: var(--badge-red-b); }
body.pn-app .civ-notice.tone-success{ border-left-color: var(--badge-green-b); }
body.pn-app .civ-notice-head{ font-size: 11px; font-weight: 700; letter-spacing: .04em; }
body.pn-app .civ-notice-body{ font-size: 11px; color: var(--text-secondary); line-height: 1.4; overflow-wrap: anywhere; }
body.pn-app .civ-notice-age{ font-size: 11px; color: var(--text-muted); }

@media (max-width: 1100px) {
    body.pn-app .judicial-grid{ grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 860px) {
    body.pn-app .judicial-calendar{ grid-template-columns: minmax(0, 1fr); }
}

 
html.pn-app-root{ --pn-module-gap: var(--cad-gap, 8px); --pn-panel-radius: 4px; --pn-control-height: 30px; }
body.pn-app .pn-module-layout{ flex: 1 1 auto; min-width: 0; min-height: 0; gap: var(--pn-module-gap); padding: var(--pn-module-gap); overflow: hidden; }
body.pn-app .pn-module-layout > *, body.pn-app .pn-module-content, body.pn-app .pn-module-scroll{ min-width: 0; min-height: 0; }
body.pn-app .pn-module-scroll{ overflow: auto; overscroll-behavior: contain; }
body.pn-app .pn-module-layout-sidebar{ grid-template-columns: minmax(190px, 220px) minmax(0, 1fr); }
body.pn-page-reports .reports-layout{ background: var(--bg-body); }
body.pn-page-reports :is(.reports-list-panel,.reports-document-panel,.report-document-panel){ min-width: 0; min-height: 0; }
body.pn-app .header{ min-width: 0; gap: var(--space-sm); }
body.pn-app .header > img, body.pn-app .header-brand, body.pn-app .header-meta, body.pn-app .header-logout-form, body.pn-app .header-clock{ flex: 0 0 auto; }
body.pn-app .header-nav{ flex: 0 1 auto; min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-width: none; }
body.pn-app .header-nav::-webkit-scrollbar{ display: none; }
body.pn-app .header-link{ min-height: var(--pn-control-height); white-space: nowrap; }
body.pn-app .header-spacer{ min-width: 8px; }
body.pn-app :is(.v5-panel,.pn-module-content,.pn-module-nav){ border-radius: var(--pn-panel-radius); }
body.pn-app :is(.v5-panel-title,.panel-header){ min-width: 0; min-height: 35px; padding: 8px 10px; }
body.pn-app :is(.v5-panel-title,.panel-header) > *{ min-width: 0; }
body.pn-app .panel-header{ background: var(--bg-body); border-bottom: 1px solid var(--border); }
body.pn-app .panel-title{ color: var(--text-secondary); font-size: 11px; font-weight: 700; letter-spacing: .45px; }
body.pn-app :is(.v5-panel-body,.panel-body){ min-width: 0; min-height: 0; }
body.pn-app :is(.v5-row,.v5-actions,.panel-actions,.form-actions){ min-width: 0; }
body.pn-app :is(input,select,textarea,button){ min-width: 0; }
body.pn-app :is(.btn,.toolbar-btn,.header-link,.nav-tab,.back-tabs a,.civ-nav a):focus-visible{ outline: 2px solid var(--border-focus); outline-offset: 1px; }
body.pn-app .table-scroll, body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .table-scroll{ max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-gutter: auto; overscroll-behavior-inline: contain; }
body.pn-app .table-scroll > .v5-table{ margin-bottom: 0; }
body.pn-app .v5-table th, body.pn-app .v5-table td{ overflow-wrap: anywhere; }
body.pn-app .v5-table th{ white-space: nowrap; }
body.pn-page-civilian .civ-layout{ grid-template-columns: minmax(190px, 220px) minmax(0, 1fr); background: var(--bg-body); }
body.pn-page-civilian .civ-nav{ min-width: 0; min-height: 0; padding: 4px; overflow: hidden; border: 1px solid var(--border); background: var(--bg-surface); }
body.pn-page-civilian .civ-nav a{ display: flex; align-items: center; gap: 6px; min-height: 34px; padding: 8px 10px; border-left: 3px solid transparent; border-radius: 3px; font-size: 12px; font-weight: 600; letter-spacing: .4px; line-height: 1.25; }
body.pn-page-civilian .civ-nav a:hover{ background: var(--bg-surface-alt); }
body.pn-page-civilian .civ-nav a.active{ border-left-color: var(--status-blue); background: var(--btn-primary-bg); color: var(--btn-primary-text); }
body.pn-page-civilian .civ-nav a.emergency{ margin-top: 4px; }
body.pn-page-civilian .civ-nav a.emergency.active{ border-left-color: var(--status-red); }
body.pn-page-civilian .civ-nav .v5-badge{ margin-left: auto; }
body.pn-page-civilian .civ-nav-note{ margin: 4px 6px; padding: 8px; border-top: 1px solid var(--border); white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.4; }
body.pn-page-civilian .civ-content{ min-width: 0; min-height: 0; padding: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: var(--pn-module-gap, 8px); border: 0; background: transparent; }
body.pn-page-civilian .civ-panel{ flex: 0 0 auto; }
body.pn-page-civilian .civ-panel > .v5-panel-body{ overflow: visible; }
body.pn-page-civilian .civ-panel .v5-panel-title .btn{ width: auto; }
body.pn-page-civilian .char-grid{ grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 8px; }
body.pn-page-civilian .char-card, body.pn-app .civ-court-card, body.pn-app .civ-notice{ min-width: 0; border-radius: 4px; }
body.pn-page-civilian .char-card{ display: block; padding: 10px; border-left: 3px solid var(--border-light); }
body.pn-page-civilian .char-card.primary{ border-left-color: var(--status-blue); }
body.pn-page-civilian .char-name{ font-size: 13px; }
body.pn-page-civilian .char-info-line{ max-width: 100%; }
body.pn-page-civilian .form-section{ max-width: 760px; margin-top: 10px; padding: 10px; border-radius: 4px; }
body.pn-page-civilian .civ-table-scroll{ max-height: none; margin-bottom: 10px; overflow-y: hidden; }
body.pn-page-civilian .civilian-record-table{ min-width: 680px; margin-bottom: 0; }
body.pn-page-civilian .civilian-record-table .actions{ white-space: nowrap; }
body.pn-page-civilian .emergency-box{ width: min(520px, 100%); max-width: 100%; padding: 12px; border-width: 1px; border-left-width: 3px; border-radius: 4px; }
body.pn-page-civilian .emergency-box .form-input, body.pn-page-civilian .emergency-box select.form-input, body.pn-page-civilian .emergency-box textarea.form-input{ width: 100%; max-width: none; }
body.pn-page-judicial .judicial-layout{ background: var(--bg-body); }
body.pn-page-judicial :is(.judicial-list-panel,.judicial-case-panel,.judicial-calendar-panel){ min-width: 0; min-height: 0; overflow: hidden; background: var(--bg-surface); border-radius: var(--pn-panel-radius); }
body.pn-page-judicial .judicial-list, body.pn-page-judicial .judicial-case-body, body.pn-page-judicial .judicial-calendar{ overscroll-behavior: contain; }
body.pn-page-judicial .judicial-filter-row{ min-width: 0; flex-wrap: wrap; }
body.pn-page-judicial .judicial-filter-field{ min-width: 130px; }
body.pn-page-judicial .judicial-filter-search{ flex: 1 1 220px; }
body.pn-page-judicial .judicial-case-item{ min-width: 0; }
body.pn-page-judicial .judicial-box{ min-width: 0; border-radius: 4px; }
body.pn-page-judicial .judicial-calendar-panel .v5-panel-title{ flex-wrap: wrap; }
body.pn-page-judicial .judicial-calendar-panel .judicial-week-label{ margin-left: auto; }
body.pn-page-judicial .judicial-warrant-actions .judicial-tool{ min-width: min(280px, 100%); }
body.pn-app .judicial-decision-row{ display: flex; align-items: baseline; gap: 8px; padding: 6px 8px; margin-bottom: 6px; border: 1px solid var(--border); border-radius: 4px; background: var(--bg-surface); font-size: 12px; min-width: 0; }
body.pn-app .judicial-decision-row strong{ min-width: 0; overflow-wrap: anywhere; }
body.pn-app .judicial-decision-row code{ font-size: 10px; color: var(--text-muted); }
body.pn-app .judicial-history-decisions{ padding: 8px; }
body.pn-app .judicial-history-decisions .section-header{ margin-bottom: 6px; }
body.pn-page-judicial .judicial-summary .stat-tile{ cursor: pointer; }
body.pn-page-judicial .judicial-summary .stat-tile:hover{ background: var(--bg-selected); border-color: var(--border-focus); }
body.pn-page-judicial .judicial-summary .stat-tile:focus-visible{ outline: 2px solid var(--border-focus); outline-offset: 1px; }
body.pn-app:is(.pn-page-backpanel,.pn-page-platform,.pn-page-devpanel) .v5-content{ min-width: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
body.pn-app.pn-page-backpanel .community-admin-content{ min-width: 0; }
body.pn-app.pn-page-backpanel .community-admin-content > *{ min-width: 0; }
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .page-heading{ min-width: 0; gap: 8px; border-radius: 4px; }
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .back-tabs{ min-width: 0; flex-wrap: wrap; overflow: visible; border-radius: 4px; }
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .back-tabs a{ min-height: 32px; display: inline-flex; align-items: center; justify-content: center; }
body.pn-app:is(.pn-page-backpanel,.pn-page-platform) .v5-panel-body{ overflow: visible; }
body.pn-app.pn-page-backpanel .community-table-scroll{ overflow-x: auto; overflow-y: hidden; }
body.pn-app.pn-page-backpanel .community-table-actions{ min-width: 0; flex-wrap: wrap; }
body.pn-app.pn-page-backpanel .admin-settings-grid > *, body.pn-app.pn-page-backpanel .setting-card, body.pn-app.pn-page-backpanel .compact-form > *{ min-width: 0; }
body.pn-page-judicial :is(.judicial-list,.judicial-case-body,.judicial-calendar){ scrollbar-gutter: auto; }
@media (max-width: 1120px){
    body.pn-app .header-meta{ display: none; }
}
@media (max-width: 860px){
    body.pn-page-civilian .civ-layout{ grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
    body.pn-page-civilian .civ-nav{ flex-direction: row; align-items: stretch; gap: 3px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
    body.pn-page-civilian .civ-nav::-webkit-scrollbar{ display: none; }
    body.pn-page-civilian .civ-nav a{ flex: 0 0 auto; border-left: 0; border-bottom: 3px solid transparent; white-space: nowrap; }
    body.pn-page-civilian .civ-nav a.active{ border-bottom-color: var(--status-blue); }
    body.pn-page-civilian .civ-nav a.emergency.active{ border-bottom-color: var(--status-red); }
    body.pn-page-civilian .civ-nav .pn-flex-1{ display: none; }
    body.pn-page-civilian .civ-nav-note{ display: none; }
    body.pn-page-judicial .judicial-layout{ grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(220px, 42vh) minmax(420px, 1fr); align-content: start; overflow-y: auto; overflow-x: hidden; }
    body.pn-page-judicial .judicial-layout.is-calendar{ grid-template-rows: minmax(0, 1fr); overflow: hidden; }
    body.pn-page-civilian .civ-nav-note{ display: block; position: fixed; right: 8px; bottom: calc(var(--footer-height) + 8px); z-index: 850; width: min(360px, calc(100vw - 16px)); margin: 0; padding: 9px 10px; border: 1px solid var(--border); border-left: 3px solid var(--status-blue); border-radius: 4px; background: var(--bg-surface); box-shadow: 0 6px 18px rgba(0,0,0,.3); }
    body.pn-page-civilian .civ-nav-note.is-danger{ border-left-color: var(--status-red); }
    body.pn-page-civilian .civ-nav-note.is-success{ border-left-color: var(--status-green); }
}
@media (max-width: 680px){
    body.pn-app .header{ padding-inline: 8px; }
    body.pn-app .header-clock, body.pn-app .header-logout-form{ display: none; }
    body.pn-app .pn-module-layout{ padding: 6px; gap: 6px; }
    body.pn-page-civilian .civ-content{ padding: 8px; }
    body.pn-page-civilian .civilian-record-table{ min-width: 620px; }
    body.pn-page-judicial .judicial-calendar-panel .v5-panel-title .v5-spacer{ display: none; }
    body.pn-page-judicial .judicial-calendar-panel .judicial-week-label{ width: 100%; margin-left: 0; order: 2; }
}
@media (max-width: 1050px){
    html.pn-app-root, body.pn-app.v5-page{ overflow: hidden; }
    body.pn-app:is(.pn-page-index,.pn-page-dispatch,.pn-page-backpanel,.pn-page-platform,.pn-page-devpanel) .v5-content{ overflow-x: hidden; overflow-y: auto; }
}
body.pn-app :is(.portal-card,.portal-community,.role-launch,.setting-card,.stat-tile,.bolo-card-v564,.cad-call,.judicial-slot,.community-admin-page .codeplug-guide-grid > div){ border-radius: 4px; }
body.pn-page-civilian .civ-court-layout{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pn-module-gap, 8px); align-items: stretch; }
body.pn-page-civilian .civ-court-layout > .civ-panel{ min-width: 0; }
body.pn-page-civilian .civ-court-cal{ order: 1; }
body.pn-page-civilian .civ-court-notices{ order: 2; }
body.pn-page-civilian .civ-court-file{ order: 3; }
body.pn-page-civilian .civ-court-cases{ order: 4; }
body.pn-page-civilian .civ-cal-row{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; padding: 6px 8px; margin-bottom: 6px; border: 1px solid var(--border); border-left: 3px solid var(--status-blue); border-radius: 4px; background: var(--bg-surface-alt); font-size: 12px; min-width: 0; }
body.pn-page-civilian .civ-cal-row:last-child{ margin-bottom: 0; }
body.pn-page-civilian .civ-cal-when{ font-weight: 700; white-space: nowrap; }
body.pn-page-civilian .civ-cal-what{ min-width: 0; color: var(--text-secondary); overflow-wrap: anywhere; }
body.pn-page-civilian .civ-content .form-input.civ-file-wide,
body.pn-page-civilian .civ-content textarea.form-input.civ-file-wide{ max-width: none; }
body.pn-page-civilian .civ-court-file form.compact-form{
    padding: var(--space-lg, 12px);
    border: 1px solid var(--border-light);
    border-radius: 4px;
    background: var(--bg-surface-alt);
}
body.pn-page-civilian .is-court-tab{ overflow: hidden; }
body.pn-page-civilian .is-court-tab .civ-court-layout{ flex: 1 1 auto; min-height: 0; grid-template-rows: repeat(2, minmax(0, 1fr)); }
body.pn-page-civilian .is-court-tab .civ-court-layout > .civ-panel{ display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
body.pn-page-civilian .is-court-tab .civ-court-layout > .civ-panel > .v5-panel-body{ flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
body.pn-page-civilian .is-court-tab .civ-notice-list{ max-height: none; overflow: visible; }
body.pn-page-judicial .v5-table th:not(:first-child),
body.pn-page-judicial .v5-table td:not(:first-child){ border-left: 1px solid var(--border); }
body.pn-page-judicial .v5-table td{ border-bottom: 1px solid var(--bg-body); }
body.pn-page-judicial .judicial-case-body .judicial-box{ margin-bottom: 10px; }
body.pn-page-judicial select.form-input{ background: var(--bg-input); border-color: var(--border-light); }
@media (max-width: 860px){
    body.pn-page-civilian .civ-court-layout{ grid-template-columns: minmax(0, 1fr); }
    body.pn-page-civilian .is-court-tab{ overflow-x: hidden; overflow-y: auto; }
    body.pn-page-civilian .is-court-tab .civ-court-layout{ grid-template-rows: none; }
    body.pn-page-civilian .is-court-tab .civ-court-layout > .civ-panel{ overflow: visible; min-height: 180px; }
    body.pn-page-civilian .is-court-tab .civ-court-layout > .civ-panel > .v5-panel-body{ overflow: visible; }
}
@keyframes pn-alert-pulse{
    0%, 100%{ background: transparent; box-shadow: none; }
    50%{ background: color-mix(in srgb, var(--pn-pulse-color) 24%, transparent); box-shadow: inset 3px 0 0 var(--pn-pulse-color); }
}
body.pn-app .pn-alert-pulse{ animation: pn-alert-pulse 1.7s ease-in-out 3; border-radius: 4px; }
body.pn-app .pn-alert-pulse.is-red{ --pn-pulse-color: var(--status-red); }
body.pn-app .pn-alert-pulse.is-amber{ --pn-pulse-color: var(--status-amber); }
