:root {
    --black: #090909;
    --ink: #202124;
    --grey-900: #303236;
    --grey-700: #5c6066;
    --grey-500: #8c9198;
    --grey-300: #cfd2d6;
    --grey-150: #e7e8ea;
    --grey-050: #f5f5f4;
    --white: #ffffff;
    --primary: #0d6efd;
    --success: #198754;
    --warning: #ffc107;
    --info: #0dcaf0;
    --danger: #dc3545;
    --focus: #0d6efd;
    --radius-sm: 6px;
    --radius-lg: 18px;
    --shadow: 0 22px 60px rgba(0, 0, 0, 0.13);
    --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html { min-height: 100%; background: var(--grey-050); }

body {
    min-height: 100vh;
    margin: 0;
    color: var(--ink);
    background: var(--grey-050);
    font-family: var(--font);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

button, input { font: inherit; }

a { color: inherit; text-decoration: none; }

.skip-link {
    position: fixed;
    z-index: 20;
    top: 8px;
    left: 8px;
    padding: 10px 14px;
    color: var(--white);
    background: var(--primary);
    transform: translateY(-140%);
}

.skip-link:focus { transform: translateY(0); }

:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }

.brand-bar {
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 12px clamp(20px, 4vw, 64px);
    color: var(--white);
    background: var(--black);
    border-bottom: 1px solid #262626;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    color: inherit;
    text-decoration: none;
}

.brand-lion {
    width: 84px;
    height: 56px;
    object-fit: contain;
    filter: invert(1);
}

.brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand-copy strong { font-size: 1.03rem; letter-spacing: .08em; }
.brand-copy small { margin-top: 7px; color: #bcbfc3; font-size: .68rem; letter-spacing: .18em; }
.brand-bar-actions { display: flex; align-items: center; gap: 18px; }
.header-tools { display: flex; align-items: center; gap: 8px; }.header-tool { width: 38px; height: 38px; display: grid; place-items: center; color: #d5d8dc; border: 1px solid #343434; border-radius: 8px; }.header-tool.is-disabled { cursor: not-allowed; }.header-user { display: flex; align-items: center; gap: 9px; padding-left: 8px; }.header-user > span:last-child { display: grid; line-height: 1.2; }.header-user small { color: #bcbfc3; }.header-user .profile-avatar { width: 36px; height: 36px; background: #5d43a5; }
.breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 24px; color: var(--grey-700); font-size: .84rem; font-weight: 750; }.breadcrumb a { color: #174ea6; }.breadcrumb i { color: var(--grey-300); font-size: .65rem; }

.language-nav { display: flex; align-items: center; gap: 4px; }
.language-nav a {
    min-width: 40px;
    padding: 9px 8px;
    border-radius: 5px;
    color: #bfc2c7;
    text-align: center;
    text-decoration: none;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .08em;
}
.language-nav a:hover { color: var(--white); background: #242424; }
.language-nav a[aria-current="page"] { color: var(--black); background: var(--white); }

.login-shell {
    min-height: calc(100vh - 88px);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(430px, .9fr);
}

.login-story {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: clamp(48px, 8vw, 120px);
    color: var(--white);
    background:
        radial-gradient(circle at 78% 18%, rgba(255,255,255,.13), transparent 26%),
        linear-gradient(145deg, #111 0%, #2d2f33 58%, #5b5e63 100%);
}

.login-story::before {
    content: "";
    position: absolute;
    width: 310px;
    height: 310px;
    right: -90px;
    top: 16%;
    border: 1px solid rgba(255,255,255,.18);
    transform: rotate(45deg);
}

.story-content { position: relative; z-index: 1; max-width: 680px; }
.story-kicker, .section-label {
    margin: 0 0 22px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .2em;
}
.story-kicker { color: #d4d6d9; }
.story-content h1 {
    max-width: 640px;
    margin: 0;
    font-size: clamp(2.7rem, 5.7vw, 6.3rem);
    font-weight: 500;
    letter-spacing: -.055em;
    line-height: .96;
}
.story-lead { max-width: 600px; margin: 32px 0; color: #d5d7da; font-size: clamp(1rem, 1.4vw, 1.23rem); }
.benefit-list { display: grid; gap: 12px; margin: 38px 0 0; padding: 0; list-style: none; }
.benefit-list li { display: flex; gap: 12px; align-items: center; }
.benefit-list li::before { content: ""; width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--white); }
.story-index { position: absolute; right: 42px; bottom: 24px; margin: 0; color: rgba(255,255,255,.4); font-size: .74rem; letter-spacing: .18em; }

.login-panel { display: grid; place-items: center; padding: clamp(32px, 6vw, 92px); background: var(--white); }
.login-card { width: min(100%, 480px); }
.section-label { color: var(--grey-700); margin-bottom: 12px; }
.login-heading h2 { margin: 0; color: var(--black); font-size: clamp(2rem, 4vw, 3.1rem); letter-spacing: -.04em; line-height: 1.05; }
.login-heading > p:last-child { margin: 14px 0 28px; color: var(--grey-700); }

.alert { padding: 13px 15px; margin: 0 0 20px; border: 1px solid transparent; border-radius: var(--radius-sm); font-size: .94rem; }
.alert-danger { color: #842029; background: #f8d7da; border-color: #f5c2c7; }

.login-form { display: grid; gap: 20px; }
.field-group { display: grid; gap: 7px; }
.field-group label { color: var(--grey-900); font-size: .9rem; font-weight: 700; }
.field-group small { color: var(--grey-700); font-size: .78rem; }
.field-group input {
    width: 100%;
    min-height: 52px;
    padding: 12px 14px;
    color: var(--black);
    background: var(--white);
    border: 1px solid var(--grey-300);
    border-radius: var(--radius-sm);
    transition: border-color .16s, box-shadow .16s;
}
.field-group input:hover { border-color: var(--grey-500); }
.field-group input:focus { border-color: var(--focus); box-shadow: 0 0 0 4px rgba(13,110,253,.13); outline: 0; }
.password-control { position: relative; }
.password-control input { padding-right: 132px; }
.password-toggle {
    position: absolute;
    right: 8px;
    top: 8px;
    width: 40px;
    min-height: 36px;
    padding: 0 9px;
    border: 0;
    border-radius: 4px;
    color: var(--grey-700);
    background: var(--grey-050);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 700;
}
.password-toggle [hidden] { display: none; }

.button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 18px;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    cursor: pointer;
    text-decoration: none;
    font-weight: 750;
    transition: transform .15s, background-color .15s, border-color .15s;
}
.button:hover { transform: translateY(-1px); }
.button-primary { color: var(--white); background: var(--black); }
.button-primary:hover { background: var(--grey-900); }
.button-secondary { width: 100%; color: var(--black); background: var(--white); border-color: var(--grey-300); }
.button-secondary:hover { border-color: var(--black); }
.button-ghost { color: var(--white); background: transparent; border-color: #525252; }
.button-ghost:hover { background: #232323; }
.sso-mark { width: 25px; height: 25px; display: inline-grid; place-items: center; border-radius: 4px; color: var(--white); background: var(--primary); font-size: .75rem; }

.divider { display: flex; align-items: center; gap: 14px; margin: 24px 0; color: var(--grey-500); font-size: .78rem; }
.divider::before, .divider::after { content: ""; height: 1px; flex: 1; background: var(--grey-150); }
.sso-message { margin: 12px 0 0; padding: 12px; color: #055160; background: #cff4fc; border: 1px solid #b6effb; border-radius: var(--radius-sm); font-size: .85rem; }
.security-note { margin: 24px 0 0; color: var(--grey-700); font-size: .79rem; }
.login-help { display: flex; justify-content: space-between; gap: 16px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--grey-150); color: var(--grey-700); font-size: .84rem; }
.login-help a { color: var(--black); font-weight: 700; }
.help-link { display: inline-flex; align-items: center; gap: 7px; padding: 0; color: var(--black); background: transparent; border: 0; cursor: pointer; font: inherit; font-weight: 700; text-decoration: none; }
.has-modal { overflow: hidden; }
.modal-backdrop { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.68); backdrop-filter: blur(4px); }
.modal-backdrop[hidden] { display: none; }
.help-modal { position: relative; width: min(100%, 620px); max-height: calc(100vh - 48px); overflow-y: auto; padding: clamp(28px, 5vw, 48px); background: var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.help-modal .section-label { margin: 0 0 10px; }.help-modal h2 { max-width: 490px; margin: 0; font-size: clamp(2rem, 5vw, 3.3rem); letter-spacing: -.045em; line-height: 1; }.help-intro { max-width: 500px; margin: 18px 0 26px; color: var(--grey-700); font-size: 1.05rem; }
.help-sso { display: grid; grid-template-columns: 46px 1fr; gap: 16px; padding: 20px; color: var(--black); background: var(--white); border: 1px solid var(--grey-300); border-radius: 12px; }.help-sso > i { width: 46px; height: 46px; display: grid; place-items: center; color: var(--white); background: var(--primary); border-radius: 7px; font-size: 1.2rem; }.help-sso strong { display: block; margin: 5px 0 3px; font-size: 1.1rem; }.help-sso p { margin: 0; color: var(--grey-700); }.help-sso-badge { display: inline-flex; padding: 3px 7px; color: var(--grey-700); background: var(--grey-050); border-radius: 999px; font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.help-alternative { display: flex; align-items: center; gap: 12px; margin: 24px 0 18px; color: var(--grey-500); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }.help-alternative::before, .help-alternative::after { content: ""; height: 1px; flex: 1; background: var(--grey-150); }
.modal-close { position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; display: grid; place-items: center; color: var(--black); background: var(--grey-050); border: 1px solid var(--grey-150); border-radius: 50%; cursor: pointer; font-size: 1.1rem; }
.help-steps { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }.help-steps li { display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: start; }.help-steps li > span { width: 38px; height: 38px; display: grid; place-items: center; color: var(--white); background: var(--black); border-radius: 50%; font-weight: 800; }.help-steps strong { display: block; margin-top: 1px; }.help-steps p { margin: 3px 0 0; color: var(--grey-700); }
.help-recovery { display: grid; grid-template-columns: 30px 1fr; gap: 14px; margin-top: 26px; padding: 18px; background: var(--grey-050); border: 1px solid var(--grey-150); border-radius: 10px; }.help-recovery > i { margin-top: 3px; font-size: 1.25rem; }.help-recovery p { margin: 3px 0; color: var(--grey-700); }.help-recovery a { overflow-wrap: anywhere; font-weight: 800; }.modal-action { width: 100%; margin-top: 22px; }

.dashboard-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: clamp(50px, 8vw, 100px) 0; }
.dashboard-shell h1 { max-width: 820px; margin: 18px 0 8px; font-size: clamp(2.5rem, 6vw, 5.5rem); line-height: .98; letter-spacing: -.055em; }
.dashboard-lead { margin: 0 0 52px; color: var(--grey-700); font-size: 1.18rem; }
.status-badge { display: inline-flex; margin: 0; padding: 6px 10px; border-radius: 999px; font-size: .75rem; font-weight: 800; }
.status-success { color: #0f5132; background: #d1e7dd; border: 1px solid #badbcc; }
.placeholder-card { display: grid; grid-template-columns: auto 1fr; gap: 26px; padding: clamp(26px, 5vw, 50px); background: var(--white); border: 1px solid var(--grey-150); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.placeholder-card h2 { margin: 0 0 8px; font-size: 1.5rem; }
.placeholder-card p { margin: 0; color: var(--grey-700); }
.placeholder-number { color: var(--grey-300); font-size: 2rem; font-weight: 800; }

.app-layout { min-height: calc(100vh - 88px); display: grid; grid-template-columns: 260px minmax(0, 1fr); }
.side-nav { padding: 28px 20px; background: var(--white); border-right: 1px solid var(--grey-150); }
.app-page .side-nav { padding-top: 0; }.app-page .side-nav::before { content: ""; display: block; height: 112px; margin: 0 -20px 18px; background: #050505 url('publicis-production-logo.png') center / 152px auto no-repeat; }.app-page .brand-bar .brand { display: none; }.app-page .brand-bar { min-height: 78px; justify-content: flex-end; border-bottom: 1px solid var(--grey-150); }.app-page .brand-bar-actions { width: min(100%, 1120px); justify-content: flex-end; }
.profile-block { display: flex; align-items: center; gap: 12px; padding: 0 8px 24px; border-bottom: 1px solid var(--grey-150); }
.profile-block div { min-width: 0; display: grid; }
.profile-block strong, .profile-block small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-block small { color: var(--grey-700); }
.profile-avatar { width: 40px; height: 40px; flex: none; display: grid; place-items: center; color: var(--white); background: var(--black); border-radius: 50%; font-weight: 800; }
.side-nav nav { display: grid; gap: 6px; margin-top: 24px; }
.nav-link { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 8px; text-decoration: none; font-weight: 700; }
.nav-link:hover { background: var(--grey-050); }
.nav-link.is-active { color: var(--white); background: var(--black); }
.nav-link span { min-width: 28px; padding: 2px 7px; border-radius: 999px; text-align: center; background: rgba(127,127,127,.18); font-size: .76rem; }
.nav-link.is-disabled { color: var(--grey-500); cursor: not-allowed; }
.nav-section { border-radius: 10px; background: #f8f9fa; }.status-nav { display: grid; padding: 6px 8px 10px 18px; }.status-nav a, .status-nav > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 8px; color: var(--grey-700); border-left: 2px solid #dee2e6; font-size: .8rem; text-decoration: none; }.status-nav .is-current { color: #084298; background: #cfe2ff; border-left-color: var(--primary); font-weight: 850; }.status-nav .is-disabled { cursor: not-allowed; }.status-nav b { min-width: 26px; padding: 2px 6px; color: #495057; background: #e9ecef; border-radius: 999px; text-align: center; font-size: .7rem; }.status-nav .is-current b { color: #084298; background: #9ec5fe; }
.content-shell { width: min(1400px, calc(100% - 64px)); margin: 0 auto; padding: 52px 0 72px; }
.content-shell > h1 { margin: 18px 0 8px; font-size: clamp(2.3rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -.05em; }
.metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.metric-card { min-height: 190px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; padding: 30px; color: inherit; background: var(--white); border: 1px solid var(--grey-150); border-radius: var(--radius-lg); text-decoration: none; box-shadow: 0 12px 35px rgba(0,0,0,.06); }
.metric-card h2, .metric-card p { margin: 0; }.metric-card p { color: var(--grey-700); }.metric-card > strong { font-size: 2rem; }
.metric-number { font-size: clamp(2.7rem, 6vw, 5.5rem); font-weight: 500; letter-spacing: -.06em; }
.metric-primary:hover { border-color: var(--black); transform: translateY(-2px); }.metric-card.is-muted { color: var(--grey-500); box-shadow: none; }
.jobs-shell { min-width: 0; }.page-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-heading .section-label { margin: 0 0 8px; }.page-heading h1 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.7rem); line-height: 1; letter-spacing: -.055em; }.page-heading p:last-child { margin: 10px 0 0; color: var(--grey-700); }
.count-pill { padding: 8px 13px; border: 1px solid var(--grey-300); border-radius: 999px; white-space: nowrap; font-weight: 800; }
.job-toolbar { display: flex; align-items: center; gap: 12px; padding: 14px; margin-bottom: 22px; background: var(--white); border: 1px solid var(--grey-150); border-radius: 12px; }
.search-field { flex: 1; }.search-field input, .job-toolbar select { min-height: 44px; padding: 8px 12px; border: 1px solid var(--grey-300); border-radius: 6px; background: var(--white); }.search-field input { width: 100%; }.job-toolbar > label:not(.search-field) { display: flex; align-items: center; gap: 8px; white-space: nowrap; font-size: .85rem; font-weight: 700; }
.toolbar-button { min-height: 44px; }.view-switch { display: flex; padding: 3px; background: var(--grey-050); border-radius: 7px; }.view-switch a { padding: 8px 11px; border-radius: 5px; text-decoration: none; font-size: .84rem; font-weight: 800; }.view-switch a[aria-current="page"] { color: var(--white); background: var(--black); }
.jobs-table-wrap { overflow-x: auto; background: var(--white); border: 1px solid #dee2e6; border-radius: 12px; box-shadow: 0 10px 30px rgba(33,37,41,.06); }.jobs-table { width: 100%; min-width: 1120px; border-collapse: separate; border-spacing: 0; }.jobs-table th, .jobs-table td { padding: 14px 15px; border-bottom: 0; text-align: left; vertical-align: middle; }.jobs-table tbody tr { height: 112px; box-shadow: inset 0 -1px 0 #ced4da; transition: background-color .16s ease, box-shadow .16s ease; }.jobs-table tbody tr:last-child { box-shadow: none; }.jobs-table th { height: 46px; color: #495057; background: #f1f3f5; border-bottom: 1px solid #adb5bd; font-size: .72rem; letter-spacing: .045em; text-transform: uppercase; }.jobs-table tbody tr:hover, .jobs-table tbody tr:focus-within, .jobs-table tbody tr:focus { background: #e7f1ff; box-shadow: inset 4px 0 0 var(--primary), inset 0 -1px 0 #ced4da; outline: none; }.jobs-table td:first-child strong, .jobs-table td:first-child small { display: block; }.jobs-table td:first-child small { margin-top: 3px; color: var(--grey-700); }.job-visible-reference { color: #212529 !important; font-weight: 850; }
.jobs-table th:nth-child(1) { width: 25%; }.jobs-table th:nth-child(2) { width: 12%; }.jobs-table th:nth-child(3) { width: 13%; }.jobs-table th:nth-child(4), .jobs-table th:nth-child(5) { width: 10%; }.jobs-table th:nth-child(6) { width: 11%; }.jobs-table th:nth-child(7) { width: 15%; }.jobs-table th:last-child { width: 4%; }.jobs-table tbody tr > td { background-clip: padding-box; }.jobs-table td:first-child { padding-left: 18px; }.jobs-table td:first-child strong { max-width: 290px; color: #212529; line-height: 1.25; }.jobs-table td:first-child small:last-child { font-size: .78rem; }.jobs-table td:nth-child(4), .jobs-table td:nth-child(5) { font-variant-numeric: tabular-nums; font-weight: 700; }.jobs-table td:nth-child(7) { min-width: 180px; }.jobs-table .row-actions { justify-content: end; }.job-follow-up { min-height: 72px; align-content: center; }.pdf-thumbnail { margin-top: 3px; }
.job-budget { white-space: nowrap; font-variant-numeric: tabular-nums; }
.job-pdf { position: relative; white-space: nowrap; }.job-pdf > a, .card-pdf-link { color: #174ea6; font-weight: 700; text-decoration: none; }.job-pdf > a:hover, .job-pdf > a:focus-visible, .card-pdf-link:hover, .card-pdf-link:focus-visible { color: #0b2f6b; }.pdf-tooltip { position: absolute; z-index: 5; right: 10px; bottom: calc(100% - 4px); display: none; width: min(300px, 70vw); padding: 12px 14px; color: var(--white); background: #151515; border-radius: 8px; box-shadow: 0 12px 30px rgba(0,0,0,.22); white-space: normal; }.pdf-tooltip strong, .pdf-tooltip small { display: block; overflow-wrap: anywhere; }.pdf-tooltip small { margin-top: 5px; color: #cfcfcf; }.job-pdf > a:hover .pdf-tooltip, .job-pdf > a:focus-visible .pdf-tooltip { display: block; }.pdf-unavailable { color: var(--grey-500); }.card-pdf-link { display: inline-flex; margin-top: 18px; }
.project-type { display: inline-flex; margin: 0 7px 5px 0; padding: 3px 7px; color: #174ea6; background: #eaf1ff; border-radius: 4px; font-size: .68rem; font-weight: 900; letter-spacing: .04em; }.project-type-videos { color: #6d3a00; background: #fff1d6; }.project-type-print { color: #28523a; background: #e4f5e9; }
.job-follow-up, .card-context { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }.confidentiality, .latest-action { display: inline-flex; padding: 4px 8px; border-radius: 999px; white-space: nowrap; font-size: .72rem; font-weight: 800; }.confidentiality { color: #174ea6; background: #e8f1ff; }.confidentiality.is-high { color: #842029; background: #f8d7da; }.latest-action { color: #3d4147; background: #eceef1; }.card-context { margin: -8px 0 16px; }
.latest-action { color: #664d03; background: #fff3cd; border: 1px solid #ffecb5; }.confidentiality { border: 1px solid #b6d4fe; }.confidentiality.is-high { border-color: #f1aeb5; }.pdf-thumbnail { position: relative; width: 58px; height: 76px; flex: none; overflow: hidden; display: block; background: #f8f9fa; border: 1px solid #adb5bd; border-radius: 5px; box-shadow: 0 3px 8px rgba(0,0,0,.12); text-decoration: none; }.pdf-thumbnail iframe { width: 232px; height: 304px; border: 0; pointer-events: none; transform: scale(.25); transform-origin: top left; }.pdf-thumbnail > span { position: absolute; inset: 0; display: grid; place-items: center; color: transparent; background: transparent; transition: .15s ease; }.pdf-thumbnail:hover > span, .pdf-thumbnail:focus-visible > span { color: var(--white); background: rgba(13,110,253,.72); }.pdf-thumbnail i { font-size: 1rem; }
.row-actions { display: flex; gap: 5px; white-space: nowrap; }.row-action { width: 34px; height: 34px; display: inline-grid; place-items: center; color: #174ea6; background: #edf3ff; border: 1px solid #cfddf5; border-radius: 6px; text-decoration: none; }.row-action:hover, .row-action:focus-visible { color: var(--white); background: #174ea6; }.row-action.is-disabled { color: var(--grey-500); background: var(--grey-050); border-color: var(--grey-150); cursor: not-allowed; }
.detail-shell { max-width: 1300px; }.detail-back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 24px; color: #174ea6; font-weight: 800; }.detail-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }.detail-heading h1 { max-width: 850px; margin: 14px 0 5px; font-size: clamp(2.2rem, 5vw, 4.4rem); line-height: 1; letter-spacing: -.045em; }.detail-heading p { margin: 0; color: var(--grey-700); }.detail-actions { display: flex; gap: 10px; }.detail-actions .button { display: inline-flex; align-items: center; gap: 8px; }.button-disabled { color: var(--grey-500); background: var(--grey-150); cursor: not-allowed; }.detail-tabs { display: flex; gap: 4px; overflow-x: auto; margin: 32px 0 22px; padding: 5px; background: var(--white); border: 1px solid var(--grey-150); border-radius: 10px; }.detail-tabs a, .detail-tabs span { flex: none; padding: 10px 14px; border-radius: 7px; font-weight: 800; }.detail-tabs .is-active { color: var(--white); background: var(--black); }.detail-tabs span { color: var(--grey-500); }.detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }.detail-card { padding: 24px; background: var(--white); border: 1px solid var(--grey-150); border-radius: 14px; box-shadow: 0 8px 28px rgba(0,0,0,.04); }.detail-list { display: grid; gap: 0; margin: 16px 0 0; }.detail-list div { display: grid; grid-template-columns: minmax(140px,.8fr) minmax(0,1.2fr); gap: 20px; padding: 12px 0; border-top: 1px solid var(--grey-150); }.detail-list dt { color: var(--grey-700); }.detail-list dd { margin: 0; overflow-wrap: anywhere; font-weight: 750; }.versions-card { margin-top: 18px; }.versions-heading { display: flex; justify-content: space-between; align-items: end; }.versions-heading h2 { margin: 5px 0 0; font-size: 2rem; }.versions-list { display: grid; margin-top: 16px; }.version-row { display: grid; grid-template-columns: minmax(220px,1.2fr) minmax(150px,.7fr) minmax(180px,.8fr); align-items: center; gap: 20px; padding: 16px 0; border-top: 1px solid var(--grey-150); }.version-row > div { min-width: 0; display: grid; gap: 3px; }.version-row small { color: var(--grey-700); }.version-number { width: fit-content; padding: 3px 7px; color: #174ea6; background: #e8f1ff; border-radius: 4px; font-size: .72rem; font-weight: 900; }.version-files { display: flex !important; flex-wrap: wrap; gap: 7px !important; }.version-files a { display: inline-flex; align-items: center; gap: 6px; color: #174ea6; font-weight: 800; }
@media (max-width: 900px) { .detail-heading { align-items: start; flex-direction: column; }.detail-grid { grid-template-columns: 1fr; }.version-row { grid-template-columns: 1fr; } }
.jobs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }.job-card { min-width: 0; padding: 22px; background: var(--white); border: 1px solid var(--grey-150); border-radius: 14px; box-shadow: 0 8px 25px rgba(0,0,0,.045); }.job-card-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; }.job-card-head small { color: var(--grey-700); }.status-production { color: #084298; background: #cfe2ff; border: 1px solid #b6d4fe; }.job-card h2 { margin: 18px 0; font-size: 1.3rem; line-height: 1.2; }.job-card dl { display: grid; gap: 11px; margin: 0; }.job-card dl div { display: flex; justify-content: space-between; gap: 16px; padding-top: 10px; border-top: 1px solid var(--grey-150); }.job-card dt { color: var(--grey-700); font-size: .8rem; }.job-card dd { margin: 0; overflow-wrap: anywhere; text-align: right; font-weight: 700; }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; }.pagination p { color: var(--grey-700); }.pagination div { display: flex; align-items: center; gap: 12px; }.pagination a, .pagination span { padding: 9px 12px; background: var(--white); border: 1px solid var(--grey-300); border-radius: 6px; text-decoration: none; }.empty-state { padding: 60px 24px; text-align: center; background: var(--white); border: 1px solid var(--grey-150); border-radius: 14px; }.empty-state h2 { margin: 0; }.empty-state p { color: var(--grey-700); }.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.latest-action.is-urgent { color: #fff; background: #dc3545; border-color: #a71d2a; box-shadow: 0 0 0 3px rgba(220,53,69,.16); }
.job-type-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0 0 12px; }.job-type-filters a { min-height: 31px; display: inline-flex; align-items: center; padding: 5px 10px; color: #54545a; background: #fff; border: 1px solid #d8d8dc; border-radius: 999px; font-size: .72rem; font-weight: 850; letter-spacing: .035em; text-decoration: none; }.job-type-filters a:hover { color: #111; border-color: #77777d; }.job-type-filters a[aria-current="page"] { color: #fff; background: #111; border-color: #111; }
.job-alert-filters { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }.urgent-filter { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 6px 10px; color: #842029; background: #fff5f5; border: 1px solid #dc3545; border-radius: 8px; font-size: .8rem; font-weight: 850; text-decoration: none; }.urgent-filter strong { min-width: 22px; padding: 2px 6px; color: #fff; background: #dc3545; border-radius: 999px; text-align: center; font-size: .75rem; }.urgent-filter.is-active { color: #fff; background: #b02a37; border-color: #842029; }.urgent-filter.is-active strong { color: #842029; background: #fff; }.clear-urgent-filter { color: #174ea6; font-weight: 800; text-decoration: none; }
.pdf-thumbnail { width: 132px; height: 58px; border-radius: 6px; }.pdf-thumbnail iframe { width: 396px; height: 520px; transform: scale(.334); }
.pdf-thumbnail img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top; }.card-file-preview img, .version-file-preview img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top; }
.card-file-preview, .version-file-preview { position: relative; display: block; width: 100%; height: 118px; overflow: hidden; margin: 0 0 18px; background: #f1f3f5; border: 1px solid #ced4da; border-radius: 9px; text-decoration: none; }.card-file-preview iframe, .version-file-preview iframe { width: 900px; height: 1180px; border: 0; pointer-events: none; transform: scale(.42); transform-origin: top left; }.card-file-preview > span, .version-file-preview > span { position: absolute; inset: 0; display: grid; place-items: center; color: transparent; background: transparent; }.card-file-preview:hover > span, .version-file-preview:hover > span { color: #fff; background: rgba(13,110,253,.64); }.job-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 18px; }.card-action-button { display: inline-flex; justify-content: center; align-items: center; gap: 7px; min-width: 0; margin: 0; padding-inline: 10px; text-decoration: none; }.version-file-preview { width: 190px; height: 78px; margin: 0 0 8px; }.version-file-preview iframe { width: 570px; height: 750px; transform: scale(.334); }
.side-search { margin: 18px 0 4px; }.side-search label { min-height: 42px; display: flex; align-items: center; gap: 8px; padding: 0 11px; color: #6c757d; background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 8px; }.side-search input[type="search"] { min-width: 0; width: 100%; padding: 10px 0; background: transparent; border: 0; outline: 0; }.job-alert-filters[hidden] { display: none; }
.edit-shell { max-width: 960px; }.edit-heading h1 { margin: 7px 0; font-size: clamp(2.2rem, 5vw, 4.2rem); letter-spacing: -.05em; }.edit-heading p { margin: 0; color: var(--grey-700); }.edit-form { margin-top: 30px; padding: 28px; background: var(--white); border: 1px solid var(--grey-150); border-radius: 14px; box-shadow: 0 8px 28px rgba(0,0,0,.04); }.edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }.edit-grid label { display: grid; gap: 7px; font-weight: 800; }.edit-grid input, .edit-grid select { min-height: 46px; padding: 10px 12px; border: 1px solid var(--grey-300); border-radius: 7px; background: var(--white); font: inherit; }.edit-actions { display: flex; justify-content: end; gap: 10px; margin-top: 28px; }.edit-actions .button { display: inline-flex; align-items: center; gap: 7px; text-decoration: none; }.form-error { margin-top: 24px; padding: 13px; color: #842029; background: #f8d7da; border: 1px solid #f1aeb5; border-radius: 8px; }
.content-shell { padding-top: 28px; padding-bottom: 54px; }.page-heading { margin-bottom: 18px; }.breadcrumb { margin-bottom: 18px; }.jobs-table mark, .job-card mark { padding: 0 2px; color: inherit; background: #e9ecef; border-radius: 3px; }
.button-danger { display: inline-flex; align-items: center; gap: 7px; color: #fff; background: #b02a37; border: 1px solid #842029; }.button-danger:hover, .button-danger:focus-visible { color: #fff; background: #842029; }.hold-dialog { width: min(100% - 32px, 480px); padding: 0; border: 0; border-radius: 14px; box-shadow: 0 22px 60px rgba(0,0,0,.28); }.hold-dialog::backdrop { background: rgba(0,0,0,.52); }.hold-dialog form { padding: 30px; }.hold-dialog h2 { margin: 0 0 10px; font-size: 1.7rem; }.hold-dialog p { margin: 0; color: var(--grey-700); }.hold-dialog form > div { display: flex; justify-content: end; gap: 10px; margin-top: 24px; }
@media (max-width: 1280px) { .jobs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .app-layout { grid-template-columns: 220px minmax(0, 1fr); }.content-shell { width: min(100% - 40px, 1200px); }.job-toolbar { flex-wrap: wrap; }.search-field { flex-basis: 100%; } }
@media (max-width: 768px) { .app-layout { display: block; }.side-nav { padding: 10px 16px; border-right: 0; border-bottom: 1px solid var(--grey-150); }.profile-block { display: none; }.side-nav nav { display: flex; overflow-x: auto; margin: 0; }.nav-link { flex: none; }.nav-link.is-disabled { display: none; }.content-shell { padding-top: 34px; }.metric-grid { grid-template-columns: 1fr; }.jobs-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .page-heading { align-items: start; flex-direction: column; }.job-toolbar > label:not(.search-field) { flex: 1; }.view-switch { width: 100%; }.view-switch a { flex: 1; text-align: center; }.pagination { align-items: stretch; flex-direction: column; }.pagination div { justify-content: space-between; } }
@media (max-width: 480px) { .content-shell { width: calc(100% - 28px); }.metric-card { grid-template-columns: 1fr auto; }.metric-number { grid-column: 1 / -1; }.job-toolbar .toolbar-button { width: 100%; } }

@media (max-width: 920px) {
    .login-shell { grid-template-columns: 1fr; }
    .login-panel { grid-row: 1; min-height: 0; }
    .login-story { grid-row: 2; min-height: 390px; }
}

@media (max-width: 620px) {
    .brand-bar { min-height: 74px; padding: 10px 16px; }
    .brand-lion { width: 56px; height: 38px; }
    .brand-copy strong { font-size: .78rem; }
    .brand-copy small { font-size: .55rem; }
    .language-nav { gap: 0; }
    .language-nav a { min-width: 32px; padding: 8px 5px; }
    .login-shell { min-height: calc(100vh - 74px); }
    .login-panel { grid-row: 1; min-height: 0; padding: 36px 22px 48px; }
    .login-story { grid-row: 2; min-height: 340px; padding: 40px 24px; }
    .story-content h1 { font-size: clamp(2.5rem, 14vw, 4.4rem); }
    .benefit-list { margin-top: 28px; font-size: .91rem; }
    .login-help { flex-direction: column; gap: 5px; }
    .dashboard-page .brand-copy { display: none; }
}

@media (max-width: 480px) {
    .brand-bar { gap: 8px; }
    .login-page .brand-copy { display: none; }
    .language-nav a { min-width: 30px; padding-inline: 4px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Publicis Production shell: direct implementation of the validated html-preview dashboard. */
.pp-page { background: #f6f6f7; color: #202124; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.pp-page .skip-link { z-index: 1000; }
.pp-shell { min-height: 100vh; display: grid; grid-template-columns: 280px minmax(0, 1fr); background: #f6f6f7; }
.pp-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 20px 16px 22px; color: #f7f7f8; background: #050505; }
.pp-brand { display: flex; align-items: center; gap: 12px; min-height: 80px; padding: 0 14px 18px; border-bottom: 1px solid #252525; color: #fff; text-decoration: none; }
.pp-brand img { width: 66px; max-height: 58px; object-fit: contain; filter: invert(1) grayscale(1) brightness(3); }
.pp-brand span { display: grid; gap: 3px; line-height: 1.05; }
.pp-brand strong { font-size: 1rem; letter-spacing: -.025em; }
.pp-brand small { color: #c8c8ca; font-size: .62rem; font-weight: 800; letter-spacing: .16em; }
.pp-workspace { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 10px; margin: 18px 0 24px; padding: 12px 13px; color: #171719; background: #f6f6f7; border: 1px solid #cfcfd2; border-radius: 12px; }
.pp-workspace > b { width: 36px; height: 36px; display: grid; place-items: center; color: #fff; background: #111; border-radius: 9px; font-size: .72rem; }
.pp-workspace span { min-width: 0; display: grid; gap: 2px; }.pp-workspace small { color: #76767b; font-size: .57rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.pp-workspace strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .73rem; }.pp-workspace > i { width: 9px; height: 9px; border-radius: 50%; background: #20a65a; box-shadow: 0 0 0 4px #dff5e7; animation:pp-availability-pulse 1.45s ease-in-out infinite; }@keyframes pp-availability-pulse { 0%,100% { transform:scale(1); box-shadow:0 0 0 4px #dff5e7; } 50% { transform:scale(1.2); box-shadow:0 0 0 8px rgba(32,166,90,.08); } }
.pp-nav { display: grid; gap: 4px; }.pp-nav-label { padding: 0 12px 7px; color: #a7a7ab; font-size: .66rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.pp-nav-item { min-height: 46px; display: flex; align-items: center; gap: 13px; padding: 0 12px; color: #d3d3d5; border-radius: 9px; font-size: .9rem; font-weight: 760; text-decoration: none; }.pp-nav-item > i { width: 20px; color: #ededee; text-align: center; font-size: .95rem; }.pp-nav-item > span { min-width: 0; flex: 1; }.pp-nav-item > b { min-width: 25px; padding: 2px 6px; color: #e2e2e3; background: #343438; border: 1px solid #57575b; border-radius: 999px; text-align: center; font-size: .7rem; }.pp-nav-item:hover { color: #fff; background: #202022; }.pp-nav-item.is-active { color: #fff; background: #fff; color: #111; }.pp-nav-item.is-active > i { color: #111; }.pp-nav-item.is-active > b { color: #111; background: #e5e5e7; border-color: #e5e5e7; }.pp-nav-item.is-muted { color: #747479; cursor: not-allowed; }.pp-nav-item.is-muted > i { color: #747479; }.pp-nav-item.pp-nav-subitem { min-height: 33px; margin: -2px 0 0 33px; padding: 0 8px 0 13px; color: #c1c1c4; border-left: 1px solid #4a4a4e; border-radius: 0; font-size: .79rem; }.pp-nav-subitem:hover { background: transparent; color: #fff; }.pp-nav-subitem b { font-size: .65rem; }
.pp-sidebar-bottom { display: grid; gap: 5px; margin-top: auto; }.pp-capacity { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 10px; padding: 13px; margin-bottom: 11px; color: #202124; background: #f6f6f7; border: 1px solid #d2d2d5; border-radius: 11px; }.pp-capacity > span { width: 36px; height: 36px; display: grid; place-items: center; color: #fff; background: #111; border-radius: 9px; }.pp-capacity div { display: grid; align-content: center; gap: 1px; }.pp-capacity strong { font-size: .78rem; }.pp-capacity small { color: #67676c; font-size: .67rem; }.pp-capacity > i { grid-column: 1 / -1; height: 4px; overflow: hidden; background: #d6d6d9; border-radius: 9px; }.pp-capacity > i > b { display: block; height: 100%; background: #111; border-radius: inherit; }.pp-side-link { min-height: 36px; display: flex; align-items: center; gap: 11px; padding: 0 11px; color: #bfbfc2; border-radius: 8px; font-size: .77rem; text-decoration: none; }.pp-side-link i { width: 16px; text-align: center; }.pp-side-link:hover { color: #fff; background: #202022; }
.pp-frame { min-width: 0; }.pp-topbar { min-height: 82px; display: grid; grid-template-columns: minmax(160px,.8fr) minmax(300px,1.8fr) minmax(400px,1.25fr); align-items: center; gap: 22px; padding: 14px 32px; background: #fff; border-bottom: 1px solid #dfdfe1; }.pp-context { display: grid; gap: 3px; }.pp-context span { display: flex; align-items: center; gap: 7px; color: #616167; font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.pp-context span i { width: 7px; height: 7px; background: #111; border-radius: 50%; }.pp-context strong { font-size: .96rem; }.pp-global-search { min-height: 48px; display: flex; align-items: center; gap: 11px; padding: 0 12px 0 16px; color: #74747a; background: #f6f6f7; border: 1px solid #d9d9dc; border-radius: 12px; }.pp-global-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: #202124; background: transparent; }.pp-global-search input::placeholder { color: #9b9ba1; }.pp-global-search kbd { min-width: 28px; padding: 4px; color: #75757b; background: #fff; border: 1px solid #d9d9dc; border-radius: 5px; text-align: center; font-size: .7rem; }.pp-top-actions { display: flex; align-items: center; justify-content: end; gap: 8px; }.pp-primary-action,.pp-secondary-action { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 15px; color: #fff; background: #0b0b0c; border: 1px solid #0b0b0c; border-radius: 9px; font-size: .8rem; font-weight: 800; text-decoration: none; white-space: nowrap; }.pp-primary-action:hover { color: #fff; background: #313136; }.pp-secondary-action { color: #29292c; background: #fff; border-color: #d4d4d7; }.pp-secondary-action:hover { color: #111; border-color: #77777d; }.pp-icon-action { position: relative; width: 41px; height: 41px; display: grid; place-items: center; color: #202124; background: #fff; border: 1px solid transparent; border-radius: 8px; text-decoration: none; }.pp-icon-action:hover { color: #111; background: #f2f2f3; border-color: #dedee1; }.pp-icon-action.is-disabled { color: #8b8b91; cursor: not-allowed; }.pp-icon-action b { position: absolute; top: -3px; right: -2px; min-width: 17px; height: 17px; padding: 1px 4px; color: #fff; background: #111; border: 2px solid #fff; border-radius: 99px; font-size: .6rem; text-align: center; }.pp-user-menu { position: relative; }.pp-user-menu summary { display: flex; align-items: center; gap: 9px; padding: 4px 0 4px 7px; list-style: none; cursor: pointer; }.pp-user-menu summary::-webkit-details-marker { display: none; }.pp-user-menu summary > span:nth-child(2) { display: grid; gap: 2px; max-width: 150px; }.pp-user-menu summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }.pp-user-menu summary small { overflow: hidden; color: #808086; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }.pp-user-menu summary > i { color: #737379; font-size: .66rem; }.pp-avatar { width: 36px; height: 36px; display: grid; place-items: center; color: #fff; background: #111; border-radius: 50%; font-size: .7rem; font-weight: 850; }.pp-user-menu > div { position: absolute; z-index: 10; top: calc(100% + 9px); right: 0; min-width: 220px; padding: 10px; background: #fff; border: 1px solid #d8d8db; border-radius: 10px; box-shadow: 0 15px 35px rgba(0,0,0,.14); }.pp-language { display: grid; grid-template-columns: repeat(4,1fr); gap: 3px; }.pp-language a { padding: 8px; border-radius: 6px; color: #55555b; text-align: center; font-size: .7rem; font-weight: 800; text-decoration: none; }.pp-language a[aria-current="page"] { color: #fff; background: #111; }.pp-user-menu form { margin-top: 8px; }.pp-user-menu button { width: 100%; padding: 9px; color: #8d2028; background: #fff5f5; border: 1px solid #ffd4d6; border-radius: 6px; font: inherit; font-size: .76rem; font-weight: 800; cursor: pointer; }
.pp-main { max-width: 1510px; margin: 0 auto; padding: 24px 40px 54px; }.pp-breadcrumb { height: 17px; color: #7d7d82; font-size: .72rem; font-weight: 700; }.pp-breadcrumb span::before { content: "•"; margin-right: 7px; color: #111; }.pp-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin: 20px 0 22px; }.pp-eyebrow { display: block; margin-bottom: 12px; color: #5e5e64; font-size: .69rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }.pp-heading h1 { max-width: 900px; margin: 0; color: #202124; font-size: clamp(2rem,3.6vw,3.1rem); letter-spacing: -.055em; line-height: 1.02; }.pp-heading p { margin: 11px 0 0; color: #74747a; font-size: .94rem; }.pp-heading-actions { display: flex; gap: 9px; flex: none; }.pp-sync { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 13px 15px; margin-bottom: 17px; color: #44444a; background: #fff; border: 1px solid #dedee1; border-radius: 11px; }.pp-sync > span { display: inline-flex; align-items: center; gap: 7px; color: #34613e; font-size: .72rem; font-weight: 800; white-space: nowrap; }.pp-sync > span i { width: 8px; height: 8px; background: #1f944c; border-radius: 50%; }.pp-sync div { display: grid; gap: 2px; min-width: 0; }.pp-sync strong { font-size: .8rem; }.pp-sync small { overflow: hidden; color: #818187; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }.pp-sync > b { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; color: #174f9d; background: #e9f1ff; border: 1px solid #c6dafb; border-radius: 999px; font-size: .69rem; white-space: nowrap; }
.pp-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }.pp-metric { position: relative; min-height: 185px; display: grid; align-content: start; gap: 9px; padding: 18px; overflow: hidden; color: #202124; background: #fff; border: 1px solid #dedee1; border-radius: 13px; text-decoration: none; box-shadow: 0 5px 18px rgba(0,0,0,.025); }.pp-metric:hover { border-color: #aaaab0; transform: translateY(-1px); }.pp-metric > span { color: #5d5d63; font-size: .76rem; font-weight: 760; }.pp-metric > strong { font-size: 2.35rem; letter-spacing: -.065em; line-height: 1; }.pp-metric > small { color: #77777d; font-size: .74rem; }.pp-metric-featured { color: #fff; background: #111; border-color: #111; }.pp-metric-featured > span,.pp-metric-featured > small { color: #c9c9cc; }.pp-metric-icon { position: absolute; top: 18px; right: 18px; width: 34px; height: 34px; display: grid; place-items: center; color: #2162c4; background: #e9f1ff; border-radius: 9px; }.pp-metric-icon-green { color: #227b47; background: #e3f3e8; }.pp-metric-icon-orange { color: #9d5c0b; background: #fff0d5; }.pp-bars { position: absolute; right: 17px; bottom: 17px; height: 34px; display: flex; align-items: end; gap: 4px; }.pp-bars b { width: 5px; background: #8e8e93; border-radius: 2px 2px 0 0; }.pp-bars b:nth-child(1) { height: 32%; }.pp-bars b:nth-child(2) { height: 52%; }.pp-bars b:nth-child(3) { height: 42%; }.pp-bars b:nth-child(4) { height: 74%; }.pp-bars b:nth-child(5) { height: 58%; }.pp-bars b:nth-child(6) { height: 86%; }.pp-bars b:nth-child(7) { height: 68%; }
.pp-dashboard-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 17px; margin-bottom: 17px; }.pp-card { background: #fff; border: 1px solid #dedee1; border-radius: 13px; box-shadow: 0 5px 18px rgba(0,0,0,.025); }.pp-card > header { display: flex; align-items: start; justify-content: space-between; gap: 14px; padding: 18px 19px 14px; border-bottom: 1px solid #e5e5e7; }.pp-card > header .pp-eyebrow { margin-bottom: 5px; font-size: .63rem; }.pp-card > header h2 { margin: 0; font-size: 1.05rem; letter-spacing: -.025em; }.pp-card > header > a { display: inline-flex; align-items: center; gap: 8px; color: #3e3e43; font-size: .73rem; font-weight: 800; text-decoration: none; }.pp-card > header > a:hover { color: #111; }.pp-priority-list { display: grid; }.pp-priority-list > a { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 13px; align-items: center; min-height: 74px; padding: 12px 19px; color: #202124; border-bottom: 1px solid #ececee; text-decoration: none; }.pp-priority-list > a:last-child { border-bottom: 0; }.pp-priority-list > a:hover { background: #f8f8f9; }.pp-priority-list > a > b { color: #8c8c92; font-size: .7rem; }.pp-priority-list span { min-width: 0; display: grid; gap: 2px; }.pp-priority-list small,.pp-priority-list em { overflow: hidden; color: #78787e; font-size: .69rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }.pp-priority-list strong { overflow: hidden; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }.pp-priority-list > a > i { color: #77777c; font-size: .72rem; }.pp-activity > header > span { display: inline-flex; align-items: center; gap: 5px; color: #307146; font-size: .67rem; font-weight: 800; }.pp-activity ol { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; }.pp-activity li { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 11px; align-items: center; min-height: 74px; padding: 12px 19px; border-bottom: 1px solid #ececee; }.pp-activity li:last-child { border-bottom: 0; }.pp-activity-symbol { width: 30px; height: 30px; display: grid; place-items: center; color: #fff; background: #111; border-radius: 50%; font-size: .62rem; font-weight: 850; }.pp-activity li div { min-width: 0; display: grid; gap: 3px; }.pp-activity li strong,.pp-activity li small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.pp-activity li strong { font-size: .79rem; }.pp-activity li small { color: #818187; font-size: .69rem; }.pp-activity li a { width: 27px; height: 27px; display: grid; place-items: center; color: #55555b; border-radius: 6px; font-size: .7rem; text-decoration: none; }.pp-activity li a:hover { color: #111; background: #f0f0f2; }
.pp-jobs-preview { overflow: hidden; }.pp-compact-jobs { display: grid; }.pp-compact-jobs > a { display: grid; grid-template-columns: 34px minmax(170px,1.6fr) minmax(130px,.75fr) minmax(130px,.8fr) minmax(80px,.4fr) 20px; align-items: center; gap: 15px; min-height: 83px; padding: 12px 19px; color: #202124; border-bottom: 1px solid #e8e8ea; text-decoration: none; }.pp-compact-jobs > a:last-child { border-bottom: 0; }.pp-compact-jobs > a:hover { background: #f8f8f9; }.pp-ring { width: 32px; height: 32px; display: grid; place-items: center; color: #1663cc; border: 3px solid #bcd7ff; border-right-color: #1663cc; border-radius: 50%; }.pp-ring b { font-size: .85rem; }.pp-compact-jobs > a > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; }.pp-compact-jobs small { color: #77777d; font-size: .68rem; }.pp-compact-jobs strong { overflow: hidden; font-size: .81rem; text-overflow: ellipsis; white-space: nowrap; }.pp-compact-jobs em { overflow: hidden; color: #717176; font-size: .68rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }.pp-production-status { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 6px 8px; color: #164d99; background: #e8f1ff; border: 1px solid #c4dafd; border-radius: 999px; font-size: .68rem; font-weight: 800; white-space: nowrap; }.pp-production-status i { width: 6px; height: 6px; background: #1870ed; border-radius: 50%; }.pp-compact-owner { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 7px; align-items: center; }.pp-compact-owner > b { width: 30px; height: 30px; display: grid; place-items: center; color: #fff; background: #111; border-radius: 50%; font-size: .62rem; }.pp-compact-owner > strong { font-size: .72rem; }.pp-due { display: grid; gap: 2px; }.pp-due strong { font-size: .73rem; }.pp-due small { font-size: .64rem; }.pp-compact-jobs > a > i { color: #77777d; font-size: .72rem; }
@media (max-width: 1280px) { .pp-topbar { grid-template-columns: minmax(120px,.6fr) minmax(260px,1.4fr) auto; gap: 14px; padding-inline: 22px; }.pp-primary-action span { display: none; }.pp-main { padding-inline: 28px; }.pp-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.pp-compact-jobs > a { grid-template-columns: 34px minmax(170px,1.6fr) minmax(130px,.75fr) minmax(130px,.8fr) 20px; }.pp-due { display: none; } }
@media (max-width: 1024px) { .pp-shell { grid-template-columns: 230px minmax(0,1fr); }.pp-sidebar { padding-inline: 12px; }.pp-brand { padding-inline: 8px; }.pp-brand span { display: none; }.pp-workspace { grid-template-columns: 36px minmax(0,1fr); }.pp-workspace > i { display: none; }.pp-topbar { grid-template-columns: auto minmax(220px,1fr) auto; }.pp-context strong { display: none; }.pp-dashboard-grid { grid-template-columns: 1fr; }.pp-compact-jobs > a { grid-template-columns: 34px minmax(170px,1fr) minmax(130px,.7fr) 20px; }.pp-compact-owner { display: none; } }
@media (max-width: 768px) { .pp-shell { display: block; }.pp-sidebar { position: static; height: auto; display: block; padding: 10px 14px; }.pp-brand { min-height: 48px; padding: 0 6px 9px; border: 0; }.pp-brand img { width: 45px; max-height: 36px; }.pp-brand span { display: grid; }.pp-workspace,.pp-sidebar-bottom,.pp-nav-label { display: none; }.pp-nav { display: flex; overflow-x: auto; padding-top: 2px; }.pp-nav-item { min-height: 38px; flex: none; padding: 0 10px; font-size: .76rem; }.pp-nav-item > i { width: auto; }.pp-nav-item.pp-nav-subitem,.pp-nav-item.is-muted { display: none; }.pp-topbar { grid-template-columns: minmax(0,1fr) auto; min-height: 66px; padding: 10px 16px; }.pp-context { display: none; }.pp-global-search { min-height: 42px; }.pp-top-actions > .pp-primary-action,.pp-top-actions > .pp-icon-action:not(:last-of-type) { display: none; }.pp-user-menu summary > span:nth-child(2),.pp-user-menu summary > i { display: none; }.pp-main { padding: 18px 18px 36px; }.pp-heading { align-items: start; flex-direction: column; margin-top: 15px; }.pp-heading-actions { width: 100%; }.pp-heading-actions > a { flex: 1; }.pp-sync { grid-template-columns: auto minmax(0,1fr); }.pp-sync > b { display: none; }.pp-metrics { grid-template-columns: 1fr 1fr; }.pp-compact-jobs > a { grid-template-columns: 32px minmax(0,1fr) 20px; gap: 10px; }.pp-production-status { display: none; } }
@media (max-width: 620px) { .pp-global-search kbd { display: none; }.pp-heading h1 { font-size: 2rem; }.pp-heading-actions { display: grid; grid-template-columns: 1fr; }.pp-metrics { grid-template-columns: 1fr; }.pp-metric { min-height: 138px; }.pp-dashboard-grid { gap: 12px; }.pp-card > header { padding: 15px; }.pp-card > header > a { font-size: .68rem; }.pp-priority-list > a,.pp-activity li { padding-inline: 15px; }.pp-compact-jobs > a { padding-inline: 15px; }.pp-breadcrumb { display: none; } }
@media (max-width: 480px) { .pp-brand span { display: none; }.pp-top-actions { gap: 2px; }.pp-user-menu > div { right: -4px; }.pp-heading h1 { font-size: 1.78rem; }.pp-sync { padding: 11px; }.pp-sync small { white-space: normal; }.pp-heading p { font-size: .86rem; } }
@media (max-width: 360px) { .pp-global-search { padding-left: 11px; }.pp-global-search input { font-size: .78rem; }.pp-main { padding-inline: 13px; }.pp-primary-action,.pp-secondary-action { padding-inline: 11px; font-size: .72rem; } }
.pp-side-button { width: 100%; border: 0; cursor: pointer; font: inherit; text-align: left; }.pp-modal-open { overflow: hidden; }.pp-modal-layer { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(0,0,0,.52); backdrop-filter: blur(3px); }.pp-modal-layer[hidden] { display: none; }.pp-modal,.pp-onboarding { position: relative; width: min(100%, 620px); max-height: calc(100vh - 40px); overflow: auto; background: #fff; border: 1px solid #d8d8db; border-radius: 16px; box-shadow: 0 24px 70px rgba(0,0,0,.28); }.pp-modal { padding: 34px; }.pp-modal-close { position: absolute; top: 14px; right: 14px; width: 35px; height: 35px; display: grid; place-items: center; color: #55555b; background: #f4f4f5; border: 1px solid #dedee1; border-radius: 8px; cursor: pointer; }.pp-modal-kicker { display: block; margin-bottom: 10px; color: #6c6c71; font-size: .67rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }.pp-modal h2 { max-width: 450px; margin: 0; color: #202124; font-size: clamp(1.7rem,4vw,2.35rem); letter-spacing: -.05em; line-height: 1.04; }.pp-modal > p { max-width: 510px; margin: 14px 0 22px; color: #66666c; }.pp-help-list { display: grid; gap: 0; padding: 0; margin: 0 0 24px; list-style: none; border-top: 1px solid #e3e3e5; }.pp-help-list li { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 11px; padding: 12px 0; border-bottom: 1px solid #e3e3e5; }.pp-help-list b { width: 25px; height: 25px; display: grid; place-items: center; color: #fff; background: #111; border-radius: 50%; font-size: .68rem; }.pp-help-list span { display: grid; gap: 3px; }.pp-help-list strong { font-size: .82rem; }.pp-help-list small { color: #727278; font-size: .74rem; }.pp-modal-primary { width: 100%; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: #fff; background: #111; border: 1px solid #111; border-radius: 9px; cursor: pointer; font: inherit; font-size: .82rem; font-weight: 800; }.pp-onboarding { width: min(100%, 940px); display: grid; grid-template-columns: minmax(260px,.78fr) minmax(0,1.22fr); }.pp-onboarding > aside { min-height: 510px; padding: 30px; color: #fff; background: #111; }.pp-onboarding-brand { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }.pp-onboarding-brand img { width: 46px; height: 38px; object-fit: contain; filter: invert(1) grayscale(1) brightness(3); }.pp-onboarding-brand b { font-size: .78rem; }.pp-onboarding aside .pp-modal-kicker { margin: 38px 0 10px; color: #bfbfc4; }.pp-onboarding aside h2 { margin: 0; font-size: 1.7rem; letter-spacing: -.04em; line-height: 1.08; }.pp-onboarding aside p { color: #c4c4c8; font-size: .84rem; }.pp-onboarding aside ol { display: grid; gap: 10px; padding: 0; margin: 30px 0 0; list-style: none; }.pp-onboarding aside li { display: flex; align-items: center; gap: 9px; color: #ababaf; font-size: .75rem; }.pp-onboarding aside li b { width: 23px; height: 23px; display: grid; place-items: center; color: #111; background: #707076; border-radius: 50%; font-size: .66rem; }.pp-onboarding aside li.is-current { color: #fff; }.pp-onboarding aside li.is-current b { color: #111; background: #fff; }.pp-onboarding-content { display: flex; flex-direction: column; align-items: start; justify-content: center; padding: 52px 44px 34px; }.pp-onboarding-content h2 { margin: 0; font-size: clamp(1.8rem,4vw,2.55rem); letter-spacing: -.055em; line-height: 1.04; }.pp-onboarding-content > p { margin: 14px 0 20px; color: #64646a; }.pp-onboarding-example { width: 100%; padding: 15px; color: #44444a; background: #f4f4f5; border: 1px solid #dedee1; border-radius: 9px; font-size: .82rem; }.pp-onboarding-actions { width: 100%; display: flex; justify-content: space-between; gap: 10px; margin-top: 24px; }.pp-onboarding-actions button { cursor: pointer; font: inherit; }.pp-onboarding-actions .pp-secondary-action { min-width: 104px; }.pp-onboarding-actions .pp-secondary-action:disabled { color: #aaaab0; border-color: #e3e3e5; cursor: default; }.pp-onboarding-actions .pp-primary-action { border: 0; }
@media (max-width: 620px) { .pp-modal { padding: 28px 22px; }.pp-onboarding { grid-template-columns: 1fr; }.pp-onboarding > aside { min-height: 0; padding: 25px 24px; }.pp-onboarding aside .pp-modal-kicker { margin-top: 22px; }.pp-onboarding aside ol { display: none; }.pp-onboarding-content { padding: 30px 24px 24px; }.pp-modal-close { z-index: 2; }.pp-onboarding .pp-modal-close { color: #fff; background: #27272b; border-color: #3d3d42; } }
.pp-side-search { min-height: 40px; display: flex; align-items: center; gap: 8px; padding: 0 11px; margin: -8px 0 18px; color: #8b8b91; background: #1a1a1c; border: 1px solid #303034; border-radius: 8px; }.pp-side-search input { width: 100%; min-width: 0; color: #fff; background: transparent; border: 0; outline: 0; font-size: .75rem; }.pp-side-search input::placeholder { color: #8b8b91; }.pp-nav-subitem.is-current { color: #fff; background: #29292d; border-left-color: #fff; }.pp-nav-subitem.is-current b { color: #111; background: #fff; border-color: #fff; }.pp-jobs-main { max-width: 1540px; }.pp-breadcrumb a { color: #5c5c62; text-decoration: none; }.pp-breadcrumb i { margin: 0 7px; color: #aaaab0; font-size: .6rem; }.pp-total-pill { display: inline-flex; align-items: center; min-height: 46px; padding: 0 12px; color: #4d4d53; background: #fff; border: 1px solid #d9d9dc; border-radius: 9px; font-size: .78rem; font-weight: 800; white-space: nowrap; }.pp-job-controls { margin-bottom: 16px; }.pp-urgent-filter { width: fit-content; min-height: 31px; display: inline-flex; align-items: center; gap: 7px; padding: 5px 9px; margin-bottom: 11px; color: #a51f2d; background: #fff4f5; border: 1px solid #f1a8af; border-radius: 8px; font-size: .72rem; font-weight: 850; text-decoration: none; }.pp-urgent-filter b { min-width: 19px; padding: 2px 5px; color: #fff; background: #c62836; border-radius: 999px; text-align: center; font-size: .65rem; }.pp-urgent-filter.is-active { color: #fff; background: #b42130; border-color: #b42130; }.pp-urgent-filter.is-active b { color: #a51f2d; background: #fff; }.pp-type-filters { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 11px; }.pp-type-filters a { min-height: 35px; display: inline-flex; align-items: center; padding: 0 12px; color: #66666c; background: #fff; border: 1px solid #dadade; border-radius: 8px; font-size: .72rem; font-weight: 850; letter-spacing: .035em; text-decoration: none; }.pp-type-filters a:hover { color: #111; border-color: #99999f; }.pp-type-filters a[aria-current="page"] { color: #1553a5; background: #e6f0ff; border-color: #aecaef; }.pp-list-toolbar { display: flex; align-items: center; gap: 9px; padding: 11px; background: #fff; border: 1px solid #dedee1; border-radius: 11px; }.pp-list-toolbar > label:first-child { min-height: 42px; display: flex; align-items: center; flex: 1; gap: 9px; padding: 0 12px; color: #88888e; background: #fafafa; border: 1px solid #dedee1; border-radius: 8px; }.pp-list-toolbar input { min-width: 0; flex: 1; color: #202124; background: transparent; border: 0; outline: 0; }.pp-size { display: flex; align-items: center; gap: 7px; color: #5f5f65; font-size: .72rem; font-weight: 800; white-space: nowrap; }.pp-size select { min-height: 36px; padding: 0 7px; color: #202124; background: #fff; border: 1px solid #d7d7da; border-radius: 7px; font: inherit; }.pp-list-toolbar .pp-primary-action { min-height: 42px; }.pp-view-toggle { display: flex; gap: 3px; padding: 3px; background: #ececee; border-radius: 8px; }.pp-view-toggle a { width: 35px; height: 35px; display: grid; place-items: center; color: #68686e; border-radius: 6px; text-decoration: none; }.pp-view-toggle a[aria-current="page"] { color: #111; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.14); }.pp-table-wrap { overflow-x: auto; background: #fff; border: 1px solid #d9d9dc; border-radius: 13px; box-shadow: 0 5px 18px rgba(0,0,0,.035); }.pp-jobs-table { width: 100%; min-width: 1080px; border-collapse: separate; border-spacing: 0; }.pp-jobs-table th { padding: 13px 14px; color: #717177; background: #f1f1f3; border-bottom: 1px solid #d3d3d6; text-align: left; font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.pp-jobs-table th:first-child { padding-left: 18px; border-top-left-radius: 12px; }.pp-jobs-table th:last-child { border-top-right-radius: 12px; }.pp-jobs-table td { padding: 14px; border-bottom: 1px solid #dedee1; vertical-align: middle; font-size: .79rem; }.pp-jobs-table tbody tr:last-child td { border-bottom: 0; }.pp-jobs-table tbody tr { transition: background .16s ease; }.pp-jobs-table tbody tr:hover { background: #e8f1ff; box-shadow: inset 4px 0 0 #1670ef; }.pp-jobs-table td:first-child { min-width: 250px; padding-left: 18px; }.pp-jobs-table td:first-child strong,.pp-jobs-table td:first-child small { display: block; }.pp-jobs-table td:first-child strong { max-width: 310px; overflow: hidden; color: #202124; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }.pp-jobs-table td:first-child small { margin-top: 3px; color: #7a7a80; font-size: .69rem; }.pp-jobs-table td:nth-child(2) { max-width: 125px; }.pp-jobs-table td:nth-child(4) strong,.pp-jobs-table td:nth-child(4) small { display: block; }.pp-jobs-table td:nth-child(4) small { color: #86868b; font-size: .67rem; }.pp-project-type { display: inline-flex; width: fit-content; padding: 3px 6px; margin-bottom: 5px; color: #1553a5; background: #e7f0ff; border-radius: 4px; font-size: .62rem; font-weight: 900; letter-spacing: .04em; }.pp-project-type-print { color: #285d42; background: #e3f4e8; }.pp-project-type-videos { color: #9d5c0b; background: #fff0d4; }.pp-project-type-banners { color: #6a469a; background: #f0eaff; }.pp-status-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; color: #1851a2; background: #e8f1ff; border: 1px solid #c5dafc; border-radius: 999px; font-size: .67rem; font-weight: 850; white-space: nowrap; }.pp-status-chip i { width: 6px; height: 6px; background: #1670ef; border-radius: 50%; }.pp-status-quotation { color: #7b5109; background: #fff1d5; border-color: #f8d58d; }.pp-status-quotation i { background: #d28b0d; }.pp-status-approval { color: #7a5706; background: #fff6cf; border-color: #f3df82; }.pp-status-approval i { background: #d29b06; }.pp-status-produced { color: #277046; background: #e4f4e9; border-color: #bee6ca; }.pp-status-produced i { background: #2b9259; }.pp-status-invoiced { color: #615176; background: #f0eafd; border-color: #d7c8f5; }.pp-status-invoiced i { background: #7757ae; }.pp-status-hold { color: #995b0e; background: #fff1d8; border-color: #f4d39d; }.pp-status-hold i { background: #b97412; }.pp-owner { display: flex; align-items: center; gap: 7px; min-width: 120px; }.pp-owner > b { width: 27px; height: 27px; display: grid; place-items: center; flex: none; color: #fff; background: #151515; border-radius: 50%; font-size: .6rem; }.pp-owner > span { max-width: 108px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.pp-follow-up { display: grid; grid-template-columns: minmax(96px,auto) minmax(100px,auto) auto; align-items: center; gap: 5px; min-width: 210px; }.pp-follow-up > b,.pp-follow-up > em { width: fit-content; padding: 4px 7px; border-radius: 999px; font-size: .64rem; font-style: normal; font-weight: 850; white-space: nowrap; }.pp-follow-up > b { color: #1651a3; background: #e8f1ff; border: 1px solid #c5dafc; }.pp-follow-up > b.is-high { color: #9f2130; background: #ffe5e7; border-color: #f5b3ba; }.pp-follow-up > em { color: #6c5411; background: #fff3cf; }.pp-follow-up > em.is-urgent { color: #fff; background: #c62836; }.pp-row-preview { width: 70px; height: 45px; overflow: hidden; border: 1px solid #c9c9ce; border-radius: 5px; box-shadow: 0 2px 6px rgba(0,0,0,.11); }.pp-row-preview img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top; }.pp-row-actions { display: flex; gap: 5px; }.pp-row-actions a { width: 32px; height: 32px; display: grid; place-items: center; color: #1457ad; background: #edf4ff; border: 1px solid #cee0fa; border-radius: 7px; text-decoration: none; }.pp-row-actions a:hover { color: #fff; background: #1457ad; }.pp-job-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }.pp-job-card { min-width: 0; padding: 17px; background: #fff; border: 1px solid #dcdcdf; border-radius: 13px; box-shadow: 0 5px 18px rgba(0,0,0,.035); }.pp-card-preview { display: block; height: 145px; overflow: hidden; margin: -17px -17px 14px; background: #f2f2f3; border-bottom: 1px solid #dedee1; border-radius: 13px 13px 0 0; }.pp-card-preview img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top; }.pp-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.pp-card-head .pp-project-type { margin: 0; }.pp-job-card h2 { margin: 15px 0 5px; font-size: 1rem; line-height: 1.2; }.pp-job-card > p { margin: 0; color: #77777d; font-size: .7rem; }.pp-job-card dl { display: grid; gap: 0; margin: 16px 0 0; }.pp-job-card dl div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid #e6e6e8; }.pp-job-card dt { color: #77777d; font-size: .7rem; }.pp-job-card dd { margin: 0; text-align: right; font-size: .72rem; font-weight: 800; }.pp-card-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 15px; }.pp-card-actions .pp-primary-action,.pp-card-actions .pp-secondary-action { min-width: 0; min-height: 38px; padding-inline: 9px; font-size: .68rem; }.pp-pagination { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 15px; }.pp-pagination p { margin: 0; color: #737379; font-size: .74rem; }.pp-pagination div { display: flex; align-items: center; gap: 6px; }.pp-pagination a,.pp-pagination span { min-height: 35px; display: inline-flex; align-items: center; padding: 0 10px; color: #55555b; background: #fff; border: 1px solid #d8d8db; border-radius: 7px; font-size: .72rem; font-weight: 800; text-decoration: none; }.pp-pagination a:hover { color: #111; border-color: #77777d; }.pp-empty { padding: 64px 25px; color: #68686e; background: #fff; border: 1px solid #dedee1; border-radius: 13px; text-align: center; }.pp-empty i { color: #1b65c4; font-size: 1.8rem; }.pp-empty h2 { margin: 13px 0 6px; color: #202124; }.pp-empty p { margin: 0; }.pp-jobs-table mark,.pp-job-card mark { padding: 0 2px; color: inherit; background: #e2e2e4; border-radius: 3px; }
@media (max-width:1280px) { .pp-jobs-main .pp-heading { margin-bottom: 17px; }.pp-job-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.pp-list-toolbar .pp-primary-action { padding-inline: 11px; }.pp-list-toolbar .pp-primary-action { font-size: .72rem; } }
@media (max-width:1024px) { .pp-list-toolbar { flex-wrap: wrap; }.pp-list-toolbar > label:first-child { flex-basis: 100%; }.pp-list-toolbar .pp-primary-action { flex: 1; }.pp-job-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width:768px) { .pp-side-search { display: none; }.pp-jobs-main .pp-heading-actions { display: flex; }.pp-total-pill { min-height: 42px; }.pp-list-toolbar { padding: 8px; }.pp-size { flex: 1; justify-content: space-between; }.pp-size select { min-width: 72px; }.pp-job-grid { grid-template-columns: 1fr; }.pp-pagination { align-items: start; flex-direction: column; } }
@media (max-width:480px) { .pp-jobs-main .pp-heading-actions { display: grid; grid-template-columns: 1fr; }.pp-total-pill { justify-content: center; }.pp-type-filters { gap: 5px; }.pp-type-filters a { min-height: 31px; padding-inline: 9px; font-size: .65rem; }.pp-list-toolbar .pp-primary-action { width: 100%; flex: none; }.pp-view-toggle { margin-left: auto; } }

/* Detail workzone: four visual summaries, then the action and the documents. */
.pp-user-menu summary > span:nth-child(2) { max-width: none; }.pp-user-menu summary strong { overflow: visible; text-overflow: clip; }.pp-avatar { aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px; border-radius: 50%; }
.pp-detail-main { max-width: 1580px; padding-top: 18px; }.pp-detail-heading { display:flex; justify-content:space-between; gap:28px; align-items:end; margin:15px 0 18px; }.pp-back-link { display:inline-flex; align-items:center; gap:7px; margin:0 0 11px; color:#5c5c62; font-size:.75rem; font-weight:800; text-decoration:none; }.pp-back-link:hover { color:#111; }.pp-detail-heading h1 { max-width:930px; margin:0; color:#202124; font-size:clamp(2rem,3.8vw,3.35rem); letter-spacing:-.06em; line-height:1.01; }.pp-detail-heading p { margin:10px 0 0; color:#737379; font-size:.84rem; }.pp-detail-heading p span { color:#b1b1b6; }.pp-detail-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:15px; }.pp-summary-card { min-height:116px; display:flex; align-items:center; gap:13px; padding:15px; background:#fff; border:1px solid #dedee1; border-radius:13px; box-shadow:0 5px 18px rgba(0,0,0,.025); }.pp-summary-card > div { min-width:0; display:grid; gap:4px; }.pp-summary-card > div > span { color:#737379; font-size:.68rem; font-weight:800; }.pp-summary-card strong { overflow:hidden; color:#202124; font-size:.9rem; text-overflow:ellipsis; white-space:nowrap; }.pp-summary-card small { color:#737379; font-size:.68rem; }.pp-summary-card small.is-alert { color:#b51f2d; font-weight:850; }.pp-summary-ring { position:relative; width:68px; height:68px; flex:none; display:grid; place-items:center; background:conic-gradient(from -90deg,#e58b19 0deg 244.8deg,#e4e5e8 244.8deg 360deg); border:1px solid rgba(0,0,0,.08); border-radius:50%; box-shadow:0 2px 7px rgba(0,0,0,.07); }.pp-summary-ring.is-danger { background:conic-gradient(from -90deg,#d52e35 0deg 90deg,#e4e5e8 90deg 360deg); }.pp-summary-ring.is-warning { background:conic-gradient(from -90deg,#e58b19 0deg 244.8deg,#e4e5e8 244.8deg 360deg); }.pp-summary-ring.is-success { background:conic-gradient(from -90deg,#218350 0deg 360deg,#e4e5e8 360deg); }.pp-summary-ring::before { content:""; position:absolute; inset:6px; background:#fff; border:1px solid #f0f0f1; border-radius:50%; }.pp-summary-ring b { position:relative; z-index:1; color:#985908; font-size:.8rem; font-variant-numeric:tabular-nums; }.pp-summary-ring.is-danger b { color:#a81f2c; }.pp-summary-ring.is-success b { color:#217042; }.pp-summary-icon { width:39px; height:39px; flex:none; display:grid; place-items:center; color:#1558ad; background:#e8f1ff; border-radius:10px; }.pp-summary-icon-gold { color:#956006; background:#fff1d4; }.pp-summary-icon-green { color:#237244; background:#e4f4e9; }.pp-summary-icon-red { color:#a61f2c; background:#ffe6e8; }
.pp-workzone-card,.pp-deliverable-board,.pp-job-facts { background:#fff; border:1px solid #dedee1; border-radius:14px; box-shadow:0 5px 18px rgba(0,0,0,.03); }.pp-workzone-card > header,.pp-deliverable-board > header { display:flex; align-items:start; justify-content:space-between; gap:18px; padding:18px 20px 15px; border-bottom:1px solid #e5e5e7; }.pp-workzone-card h2,.pp-deliverable-board h2,.pp-job-facts h2 { margin:0; color:#202124; font-size:1.15rem; letter-spacing:-.03em; }.pp-workzone-card header p,.pp-deliverable-board header p { margin:6px 0 0; color:#74747a; font-size:.75rem; }.pp-workzone-body { display:grid; grid-template-columns:minmax(360px,1.32fr) minmax(330px,.88fr); min-height:352px; }.pp-artwork-panel { min-width:0; padding:17px; background:#f0f0f2; border-radius:0 0 0 14px; }.pp-artwork-preview,.pp-artwork-empty { position:relative; height:244px; overflow:hidden; display:grid; place-items:center; background:#e3e3e5; border:1px solid #d4d4d7; border-radius:10px; box-shadow:0 7px 17px rgba(0,0,0,.11); text-decoration:none; }.pp-artwork-preview img { width:100%; height:100%; display:block; object-fit:cover; object-position:top; }.pp-artwork-preview > span { position:absolute; inset:0; display:grid; place-items:center; gap:8px; color:transparent; background:transparent; font-size:.78rem; font-weight:850; transition:.16s ease; }.pp-artwork-preview:hover > span,.pp-artwork-preview:focus-visible > span { color:#fff; background:rgba(12,13,15,.7); }.pp-artwork-empty { align-content:center; gap:8px; color:#5e5e65; background:#fafafa; box-shadow:none; }.pp-artwork-empty i { color:#a7a7ad; font-size:2rem; }.pp-artwork-empty strong { font-size:.84rem; }.pp-artwork-empty small { color:#88888e; font-size:.7rem; }.pp-artwork-meta { display:grid; gap:4px; padding:12px 2px 0; }.pp-artwork-meta span { overflow:hidden; color:#242429; font-size:.76rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }.pp-artwork-meta span i { margin-right:7px; color:#c22e3d; }.pp-artwork-meta small { color:#74747a; font-size:.69rem; }.pp-next-action { display:grid; align-content:start; gap:15px; padding:21px; }.pp-next-action .pp-eyebrow { margin:0; }.pp-workflow-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }.pp-workflow-steps span { position:relative; display:grid; gap:5px; color:#98989e; font-size:.59rem; font-weight:800; line-height:1.12; }.pp-workflow-steps span::before { content:""; position:absolute; top:9px; left:18px; right:-2px; height:2px; background:#dfdfe2; }.pp-workflow-steps span:last-child::before { display:none; }.pp-workflow-steps b { position:relative; z-index:1; width:20px; height:20px; display:grid; place-items:center; color:#77777d; background:#ededee; border-radius:50%; font-size:.61rem; }.pp-workflow-steps .is-done { color:#356c49; }.pp-workflow-steps .is-done::before { background:#70b384; }.pp-workflow-steps .is-done b { color:#fff; background:#317347; }.pp-workflow-steps .is-current { color:#1657ad; }.pp-workflow-steps .is-current b { color:#fff; background:#1670ef; box-shadow:0 0 0 4px #e4f0ff; }.pp-next-action-callout { display:grid; grid-template-columns:31px minmax(0,1fr); align-items:center; gap:10px; padding:12px; color:#29633e; background:#edf8f0; border:1px solid #c9e8d2; border-radius:9px; }.pp-next-action-callout.is-urgent { color:#9b202c; background:#fff0f1; border-color:#f2b7be; }.pp-next-action-callout > i { font-size:1.15rem; }.pp-next-action-callout div { display:grid; gap:2px; }.pp-next-action-callout strong { font-size:.74rem; }.pp-next-action-callout small { overflow:hidden; font-size:.67rem; text-overflow:ellipsis; white-space:nowrap; }.pp-workzone-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.pp-workzone-actions .pp-primary-action { grid-column:1 / -1; }.pp-hold-action { min-height:36px; grid-column:1 / -1; color:#9b202c; background:#fff; border:1px solid #f0bcc1; border-radius:8px; cursor:pointer; font:inherit; font-size:.7rem; font-weight:850; }.pp-hold-action i { margin-right:7px; }.pp-context-tip { color:#606067; font-size:.71rem; }.pp-context-tip summary { display:flex; align-items:center; gap:7px; cursor:pointer; font-weight:800; }.pp-context-tip summary i { color:#1c60ba; }.pp-context-tip p { margin:8px 0 0; color:#77777d; line-height:1.45; }
.pp-deliverable-board { margin-top:15px; overflow:hidden; }.pp-deliverable-board > header { align-items:center; }.pp-upload-dropzone { min-width:470px; display:grid; grid-template-columns:auto minmax(125px,1fr) auto auto auto; align-items:center; gap:9px; padding:9px 10px; background:#f7f7f8; border:1px dashed #aeb4bc; border-radius:10px; }.pp-upload-dropzone > i { width:31px; height:31px; display:grid; place-items:center; color:#155bb5; background:#e6f0ff; border-radius:8px; }.pp-upload-dropzone div { min-width:0; display:grid; gap:2px; }.pp-upload-dropzone strong { overflow:hidden; color:#28282d; font-size:.69rem; text-overflow:ellipsis; white-space:nowrap; }.pp-upload-dropzone small { overflow:hidden; color:#78787e; font-size:.61rem; text-overflow:ellipsis; white-space:nowrap; }.pp-upload-dropzone select,.pp-upload-dropzone label { max-width:125px; min-height:31px; padding:0 7px; color:#4e4e54; background:#fff; border:1px solid #d7d7da; border-radius:6px; font:inherit; font-size:.65rem; }.pp-upload-dropzone label { display:inline-flex; align-items:center; cursor:pointer; white-space:nowrap; }.pp-upload-dropzone input[type=file] { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.pp-upload-dropzone .pp-primary-action { min-height:33px; padding:0 9px; font-size:.66rem; }.pp-deliverable-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; padding:15px; background:#f6f6f7; }.pp-deliverable-card { min-width:0; background:#fff; border:1px solid #dcdcdf; border-radius:11px; overflow:hidden; }.pp-deliverable-card > header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 13px; border-bottom:1px solid #e5e5e7; }.pp-deliverable-card > header > div { display:grid; gap:3px; min-width:0; }.pp-document-number { overflow:hidden; color:#202124; font-size:.82rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }.pp-deliverable-card header small { color:#7b7b81; font-size:.65rem; }.pp-axa-status { display:inline-flex; align-items:center; gap:5px; width:fit-content; padding:5px 7px; color:#27633f; background:#eaf7ed; border:1px solid #c7e7d0; border-radius:999px; font-size:.6rem; font-weight:850; white-space:nowrap; }.pp-axa-status.is-urgent { color:#a11f2c; background:#fff0f1; border-color:#f0b7be; }.pp-document-versions { display:grid; }.pp-document-version { display:grid; grid-template-columns:72px minmax(0,1fr) minmax(118px,.6fr) auto; gap:11px; align-items:center; min-height:93px; padding:10px 12px; border-bottom:1px solid #e7e7e9; }.pp-document-version:last-child { border-bottom:0; }.pp-document-version.is-current { background:#f1f6ff; box-shadow:inset 3px 0 0 #1670ef; }.pp-document-preview { width:72px; height:51px; overflow:hidden; display:block; background:#f0f0f2; border:1px solid #cfd0d4; border-radius:5px; box-shadow:0 2px 5px rgba(0,0,0,.08); }.pp-document-preview img { width:100%; height:100%; display:block; object-fit:cover; object-position:top; }.pp-document-preview.is-placeholder { display:grid; place-items:center; color:#a1a1a8; }.pp-document-version-main { min-width:0; display:grid; gap:3px; }.pp-document-version-main > strong { color:#222227; font-size:.75rem; }.pp-document-version-main > span { overflow:hidden; color:#5f5f65; font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }.pp-document-version-main dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:0; margin:3px 0 0; }.pp-document-version-main dt { color:#8a8a90; font-size:.56rem; }.pp-document-version-main dd { margin:2px 0 0; color:#55555a; font-size:.58rem; font-variant-numeric:tabular-nums; }.pp-document-state { display:grid; gap:4px; align-items:center; }.pp-document-state small { overflow:hidden; color:#7d7d83; font-size:.61rem; text-overflow:ellipsis; white-space:nowrap; }.pp-document-actions { display:flex; gap:4px; }.pp-document-actions a,.pp-document-actions button { width:29px; height:29px; display:grid; place-items:center; color:#155bb5; background:#eef5ff; border:1px solid #cddff9; border-radius:6px; cursor:pointer; text-decoration:none; }.pp-document-actions button { color:#58585e; background:#fff; border-color:#dedee1; }.pp-document-actions a:hover,.pp-document-actions button:hover { color:#fff; background:#155bb5; border-color:#155bb5; }
.pp-detail-lower { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.6fr); gap:15px; margin-top:15px; }.pp-job-facts { grid-column:2; padding:18px; }.pp-job-facts header { padding-bottom:12px; border-bottom:1px solid #e5e5e7; }.pp-job-facts header .pp-eyebrow { margin-bottom:6px; }.pp-job-facts dl { margin:0; }.pp-job-facts dl > div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid #ededee; }.pp-job-facts dl > div:last-child { border-bottom:0; }.pp-job-facts dt { color:#7d7d83; font-size:.66rem; }.pp-job-facts dd { margin:0; overflow-wrap:anywhere; color:#323237; font-size:.69rem; font-weight:800; text-align:right; }.pp-nowrap { white-space:nowrap; }
.pp-confirm-dialog,.pp-review-dialog { width:min(92vw,470px); padding:0; color:#26262b; background:#fff; border:1px solid #dcdcdf; border-radius:15px; box-shadow:0 24px 70px rgba(0,0,0,.28); }.pp-confirm-dialog::backdrop,.pp-review-dialog::backdrop { background:rgba(0,0,0,.52); backdrop-filter:blur(3px); }.pp-confirm-dialog form,.pp-review-dialog form { display:grid; gap:12px; padding:28px; }.pp-confirm-icon { width:41px; height:41px; display:grid; place-items:center; color:#a11f2c; background:#fff0f1; border-radius:10px; }.pp-confirm-dialog h2,.pp-review-dialog h2 { margin:0; font-size:1.3rem; letter-spacing:-.035em; }.pp-confirm-dialog p,.pp-review-dialog p { margin:0; color:#6e6e74; font-size:.79rem; line-height:1.45; }.pp-confirm-dialog form > div,.pp-review-dialog form > div { display:flex; justify-content:end; gap:8px; margin-top:5px; }.pp-danger-action { color:#fff; background:#b52634; border-color:#b52634; }.pp-review-dialog fieldset { display:grid; gap:7px; padding:0; margin:2px 0; border:0; }.pp-review-dialog fieldset label { display:block; }.pp-review-dialog fieldset input { position:absolute; opacity:0; }.pp-review-dialog fieldset span { min-height:40px; display:flex; align-items:center; gap:8px; padding:0 11px; color:#56565c; background:#f7f7f8; border:1px solid #dedee1; border-radius:8px; cursor:pointer; font-size:.72rem; font-weight:800; }.pp-review-dialog fieldset input:checked + span { color:#155bb5; background:#eaf2ff; border-color:#aecaef; }.pp-review-dialog fieldset label:first-child input:checked + span { color:#a11f2c; background:#fff0f1; border-color:#efb2b9; }.pp-review-note { display:grid; gap:6px; color:#56565c; font-size:.72rem; font-weight:800; }.pp-review-note textarea { resize:vertical; padding:9px; color:#202124; border:1px solid #d8d8dc; border-radius:8px; font:inherit; font-size:.76rem; }
@media (max-width:1280px) { .pp-topbar { grid-template-columns:minmax(100px,.5fr) minmax(200px,1.3fr) auto; }.pp-detail-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.pp-workzone-body { grid-template-columns:1.12fr .88fr; }.pp-upload-dropzone { min-width:0; grid-template-columns:auto minmax(100px,1fr) auto auto; }.pp-upload-dropzone select { display:none; }.pp-upload-dropzone .pp-primary-action span { display:none; }.pp-deliverable-grid { grid-template-columns:1fr; } }
@media (max-width:1024px) { .pp-detail-heading { align-items:start; flex-direction:column; }.pp-detail-heading .pp-heading-actions { width:auto; }.pp-workzone-body { grid-template-columns:1fr; }.pp-artwork-panel { border-radius:0; }.pp-next-action { grid-template-columns:1fr 1fr; }.pp-next-action > .pp-eyebrow,.pp-next-action > .pp-workflow-steps { grid-column:1 / -1; }.pp-context-tip { grid-column:1 / -1; }.pp-detail-lower { grid-template-columns:1fr; }.pp-job-facts { grid-column:auto; } }
@media (max-width:768px) { .pp-user-menu summary > span:nth-child(2) { display:grid; max-width:110px; }.pp-user-menu summary > span:nth-child(2) small,.pp-user-menu summary > i { display:none; }.pp-user-menu summary strong { overflow:hidden; text-overflow:ellipsis; }.pp-detail-main { padding-top:14px; }.pp-detail-heading { margin-top:7px; }.pp-detail-summary { gap:8px; }.pp-summary-card { min-height:98px; padding:12px; }.pp-summary-ring { width:54px; height:54px; }.pp-summary-ring::before { width:42px; height:42px; }.pp-summary-icon { width:33px; height:33px; }.pp-summary-card strong { font-size:.78rem; }.pp-workzone-card > header,.pp-deliverable-board > header { align-items:start; flex-direction:column; }.pp-upload-dropzone { width:100%; grid-template-columns:auto minmax(0,1fr) auto; }.pp-upload-dropzone label { display:none; }.pp-next-action { grid-template-columns:1fr; }.pp-next-action > .pp-eyebrow,.pp-next-action > .pp-workflow-steps,.pp-context-tip { grid-column:auto; }.pp-document-version { grid-template-columns:58px minmax(0,1fr) auto; gap:9px; }.pp-document-preview { width:58px; height:42px; }.pp-document-state { display:none; }.pp-document-version-main dl { grid-template-columns:1fr; gap:3px; }.pp-document-version-main dl > div { display:flex; gap:5px; }.pp-document-version-main dd { margin:0; }.pp-document-actions { flex-direction:column; }.pp-deliverable-grid { padding:9px; } }
@media (max-width:620px) { .pp-detail-summary { grid-template-columns:1fr; }.pp-summary-card { min-height:78px; }.pp-artwork-preview,.pp-artwork-empty { height:190px; }.pp-workzone-actions { grid-template-columns:1fr; }.pp-workzone-actions .pp-primary-action,.pp-hold-action { grid-column:auto; }.pp-document-version { grid-template-columns:50px minmax(0,1fr) auto; padding:9px; }.pp-document-preview { width:50px; height:37px; }.pp-document-version-main dl { display:none; }.pp-document-version-main > span { max-width:180px; }.pp-document-actions a,.pp-document-actions button { width:27px; height:27px; }.pp-axa-status { max-width:175px; overflow:hidden; text-overflow:ellipsis; }.pp-deliverable-card > header { align-items:start; flex-direction:column; } }
@media (max-width:480px) { .pp-user-menu summary > span:nth-child(2) { max-width:92px; }.pp-detail-heading .pp-heading-actions { width:100%; }.pp-detail-heading .pp-heading-actions a { flex:1; }.pp-detail-heading h1 { font-size:1.85rem; }.pp-workzone-card > header,.pp-deliverable-board > header { padding:15px; }.pp-artwork-panel { padding:12px; }.pp-next-action { padding:15px; }.pp-upload-dropzone { display:flex; flex-wrap:wrap; }.pp-upload-dropzone > div { flex:1; min-width:130px; }.pp-upload-dropzone .pp-primary-action { width:100%; }.pp-deliverable-grid { padding:7px; }.pp-document-version-main > span { max-width:140px; } }
@media (max-width:360px) { .pp-user-menu summary > span:nth-child(2) { max-width:78px; }.pp-summary-card { gap:9px; }.pp-workflow-steps span { font-size:.52rem; }.pp-document-actions { gap:2px; } }
.pp-side-search { color:#d2d2d5; background:#303034; border-color:#4a4a4f; }
.pp-side-search:focus-within { background:#3a3a3f; border-color:#77777d; }
.pp-side-search input::placeholder { color:#c0c0c4; }
.pp-topbar > .pp-global-search { display:none; }
.pp-topbar { grid-template-columns:minmax(180px,1fr) minmax(400px,auto); }
.pp-topbar > .pp-top-actions { grid-column:2; }
.pp-urgent-header { min-height:38px; display:inline-flex; align-items:center; gap:7px; padding:0 11px; color:#68686e; background:#ededee; border:1px solid #d5d5d8; border-radius:8px; font-size:.7rem; font-weight:850; text-decoration:none; white-space:nowrap; }
.pp-urgent-header.is-active { color:#fff; background:#bd2432; border-color:#a91e2c; }
.pp-urgent-header b { min-width:19px; padding:2px 5px; color:inherit; background:rgba(255,255,255,.2); border-radius:999px; text-align:center; }
.pp-top-actions > .pp-urgent-header,.pp-top-actions > .pp-header-work-action { min-height:40px; height:40px; padding:0 12px; border-radius:8px; box-sizing:border-box; }
.pp-header-work-action { color:#66666c; background:#ededee; border-color:#d5d5d8; }
.pp-header-work-action.is-active { color:#fff; background:#111; border-color:#111; }
.pp-header-work-action b { min-width:19px; padding:2px 5px; color:inherit; background:rgba(255,255,255,.22); border-radius:999px; text-align:center; font-size:.66rem; }
.pp-header-work-action[data-disabled="true"],.pp-urgent-header[data-disabled="true"] { cursor:default; }
.pp-year-filters { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.pp-year-filters a { min-width:64px; min-height:36px; display:grid; place-items:center; padding:0 12px; color:#626268; background:#fff; border:1px solid #d7d7da; border-radius:8px; font-size:.75rem; font-weight:850; text-decoration:none; }
.pp-year-filters a[aria-current="page"] { color:#fff; background:#111; border-color:#111; }

/* Fiche job: information progressive, conversation et modules de travail. */
.pp-job-tabs { display:flex; align-items:center; gap:5px; overflow-x:auto; margin:0 0 14px; padding:5px; background:#fff; border:1px solid #e1e1e4; border-radius:10px; box-shadow:0 6px 18px rgba(20,20,22,.035); scrollbar-width:thin; }
.pp-job-tabs a { flex:0 0 auto; padding:8px 10px; color:#66666d; border-radius:7px; font-size:.71rem; font-weight:850; line-height:1; text-decoration:none; }
.pp-job-tabs a:hover,.pp-job-tabs a.is-active { color:#111; background:#efeff1; }
.pp-job-tabs b { display:inline-grid; min-width:16px; height:16px; margin-left:4px; place-items:center; color:#fff; background:#111; border-radius:50%; font-size:.56rem; }
.pp-detail-lower { display:block; margin-top:15px; }
.pp-job-facts { width:100%; padding:0; overflow:hidden; background:#fff; border:1px solid #dedee2; border-radius:12px; box-shadow:0 7px 20px rgba(20,20,22,.04); }
.pp-job-facts header { padding:17px 18px 12px; }
.pp-job-facts dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #ededee; }
.pp-job-facts dl > div { display:block; min-height:74px; padding:14px 17px; border:0; border-right:1px solid #ededee; border-bottom:1px solid #ededee; }
.pp-job-facts dl > div:nth-child(3n) { border-right:0; }
.pp-job-facts dl > div:nth-last-child(-n+3) { border-bottom:0; }
.pp-job-facts dt { margin-bottom:6px; color:#7c7c82; font-size:.63rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.pp-job-facts dd { color:#28282d; font-size:.78rem; line-height:1.36; text-align:left; }
.pp-detail-modules { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin-top:15px; }
.pp-module-card { min-width:0; overflow:hidden; padding:18px; background:#fff; border:1px solid #dedee2; border-radius:12px; box-shadow:0 7px 20px rgba(20,20,22,.04); }
.pp-module-card > header { padding-bottom:13px; border-bottom:1px solid #e9e9eb; }
.pp-module-card h2 { margin:4px 0 0; color:#1d1d21; font-size:1.02rem; line-height:1.25; }
.pp-module-card > header p { margin:7px 0 0; color:#77777d; font-size:.74rem; line-height:1.5; }
.pp-module-data { display:grid; grid-template-columns:1fr 1fr; margin:0; }
.pp-module-data > div { min-width:0; padding:13px 12px 0 0; }
.pp-module-data dt { margin-bottom:4px; color:#828288; font-size:.62rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.pp-module-data dd { margin:0; color:#28282d; font-size:.75rem; font-weight:800; line-height:1.38; overflow-wrap:anywhere; }
.pp-linked-files { display:grid; gap:0; margin-top:5px; }
.pp-linked-files > div { display:grid; grid-template-columns:28px minmax(0,1fr) 26px; gap:9px; align-items:center; min-height:54px; border-bottom:1px solid #ededee; }
.pp-linked-files > div:last-child { border-bottom:0; }
.pp-linked-files > div > i { display:grid; width:25px; height:25px; place-items:center; color:#b72d32; background:#fff1f1; border-radius:6px; font-size:.72rem; }
.pp-linked-files strong,.pp-linked-files small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pp-linked-files strong { color:#2c2c30; font-size:.72rem; }.pp-linked-files small { margin-top:3px; color:#818187; font-size:.65rem; }
.pp-linked-files a { display:grid; width:26px; height:26px; place-items:center; color:#222; border-radius:6px; text-decoration:none; }.pp-linked-files a:hover { background:#f0f0f2; }
.pp-history-list { display:grid; gap:0; margin:3px 0 0; padding:0; list-style:none; }
.pp-history-list li { display:grid; grid-template-columns:14px minmax(0,1fr) auto; gap:7px; align-items:center; min-height:47px; border-bottom:1px solid #ededee; }.pp-history-list li:last-child { border-bottom:0; }
.pp-history-list li > i { color:#111; font-size:.42rem; }.pp-history-list strong,.pp-history-list small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.pp-history-list strong { color:#35353a; font-size:.69rem; }.pp-history-list small { margin-top:3px; color:#85858a; font-size:.62rem; }.pp-history-list b { max-width:130px; color:#356a5a; font-size:.61rem; text-align:right; }
.pp-module-conversation { grid-column:1 / -1; }.pp-conversation-stream { display:grid; gap:11px; max-height:390px; margin:15px 0; overflow:auto; padding:2px 4px 2px 0; }
.pp-empty-message { margin:12px 0 0; padding:13px; color:#77777d; background:#f6f6f7; border-radius:8px; font-size:.74rem; line-height:1.5; }
.pp-chat-message { display:grid; grid-template-columns:31px minmax(0,1fr); gap:9px; max-width:82%; }.pp-chat-message.is-axa { justify-self:end; grid-template-columns:minmax(0,1fr) 31px; }.pp-chat-message.is-axa .pp-chat-avatar { grid-column:2; }.pp-chat-message.is-axa > div { grid-column:1; grid-row:1; background:#eef5ff; }.pp-chat-avatar { display:grid; width:31px; height:31px; place-items:center; color:#fff; background:#111; border-radius:50%; font-size:.61rem; font-style:normal; font-weight:850; }.pp-chat-message.is-axa .pp-chat-avatar { color:#124e93; background:#dcecff; }.pp-chat-message > div { padding:10px 12px; background:#f4f4f5; border-radius:4px 10px 10px 10px; }.pp-chat-message.is-axa > div { border-radius:10px 4px 10px 10px; }.pp-chat-message header { display:flex; justify-content:space-between; gap:10px; }.pp-chat-message strong { color:#252529; font-size:.69rem; }.pp-chat-message small { flex:0 0 auto; color:#85858a; font-size:.59rem; }.pp-chat-message p { margin:5px 0 0; color:#444449; font-size:.74rem; line-height:1.45; }
.pp-chat-compose { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:end; padding-top:13px; border-top:1px solid #e8e8ea; }.pp-chat-compose textarea { width:100%; min-height:68px; resize:vertical; padding:10px; color:#29292e; border:1px solid #d6d6da; border-radius:9px; font:inherit; font-size:.75rem; line-height:1.4; outline-color:#111; }.pp-chat-compose .pp-primary-action { min-height:40px; }
@media (max-width:1024px) { .pp-job-facts dl { grid-template-columns:repeat(2,minmax(0,1fr)); }.pp-job-facts dl > div:nth-child(3n) { border-right:1px solid #ededee; }.pp-job-facts dl > div:nth-child(2n) { border-right:0; }.pp-job-facts dl > div:nth-last-child(-n+3) { border-bottom:1px solid #ededee; }.pp-job-facts dl > div:nth-last-child(-n+2) { border-bottom:0; } }
@media (max-width:768px) { .pp-user-menu summary > span:nth-child(2) { display:grid; max-width:none; }.pp-user-menu summary strong { overflow:visible; text-overflow:clip; white-space:normal; }.pp-user-menu summary small { display:block; overflow:visible; text-overflow:clip; white-space:normal; }.pp-detail-modules { grid-template-columns:1fr; }.pp-module-conversation { grid-column:auto; }.pp-job-facts dl { grid-template-columns:1fr 1fr; }.pp-module-card { padding:15px; } }
@media (max-width:620px) { .pp-job-facts dl,.pp-module-data { grid-template-columns:1fr; }.pp-job-facts dl > div,.pp-job-facts dl > div:nth-child(3n),.pp-job-facts dl > div:nth-child(2n) { border-right:0; border-bottom:1px solid #ededee; }.pp-job-facts dl > div:last-child { border-bottom:0; }.pp-chat-message { max-width:94%; }.pp-chat-compose { grid-template-columns:1fr; }.pp-chat-compose .pp-primary-action { width:100%; }.pp-history-list b { max-width:92px; }.pp-job-tabs { margin-left:-2px; margin-right:-2px; } }
.pp-top-actions .pp-icon-action.is-disabled { overflow:visible; }.pp-top-actions .pp-icon-action.is-disabled b { display:none; }.pp-top-actions .pp-icon-action.is-disabled::after { content:"3"; position:absolute; top:-3px; right:-2px; min-width:17px; height:17px; padding:1px 4px; color:#fff; background:#111; border:2px solid #fff; border-radius:99px; text-align:center; font-size:.6rem; line-height:13px; font-weight:800; }.pp-top-actions .pp-icon-action.is-disabled + .pp-icon-action.is-disabled::after { content:"13"; }.pp-presence-stack { display:flex; align-items:center; padding-left:5px; }.pp-presence-stack a { width:27px; height:27px; display:grid; place-items:center; margin-left:-5px; color:#fff; background:#155bb5; border:2px solid #fff; border-radius:50%; font-size:.56rem; font-style:normal; font-weight:850; text-decoration:none; }.pp-presence-stack a:nth-child(2n) { background:#1f7547; }.pp-presence-stack a:nth-child(3n) { background:#8a3f9d; }.pp-presence-stack a:not(.is-online) { color:#727278; background:#e4e4e7; border-color:#fff; filter:grayscale(1); }.pp-presence-stack a.is-online { outline:2px solid #22a45d; outline-offset:1px; }.pp-presence-stack a:hover { position:relative; z-index:2; transform:translateY(-2px); }.pp-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; max-width:1510px; padding:18px 40px 24px; margin:0 auto; color:#77777d; border-top:1px solid #dfdfe2; font-size:.7rem; }.pp-footer strong { color:#27272c; }.pp-footer a { color:#2f5f9f; font-weight:800; text-decoration:none; }.pp-footer a:hover { color:#111; }@media (max-width:768px) { .pp-presence-stack { display:none; }.pp-footer { flex-direction:column; align-items:start; padding:16px 18px 22px; } }
.pp-workflow-profile { display:grid; gap:8px; padding:10px 2px; border-bottom:1px solid #ececee; }.pp-workflow-profile label { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 36px; gap:8px; align-items:center; cursor:pointer; }.pp-workflow-profile label strong,.pp-workflow-profile label small { display:block; }.pp-workflow-profile label strong { color:#29292d; font-size:.72rem; }.pp-workflow-profile label small { margin-top:2px; color:#7a7a80; font-size:.62rem; line-height:1.3; }.pp-workflow-profile input { position:absolute; opacity:0; }.pp-workflow-profile label > i { width:34px; height:20px; background:#d4d4d8; border-radius:99px; transition:.2s ease; }.pp-workflow-profile label > i::after { content:""; display:block; width:16px; height:16px; margin:2px; background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.22); transition:.2s ease; }.pp-workflow-profile input:checked + i { background:#1769d1; }.pp-workflow-profile input:checked + i::after { transform:translateX(14px); }.pp-workflow-profile input:disabled + i { opacity:.45; }.pp-workflow-profile a { color:#245f9c; font-size:.67rem; font-weight:850; text-decoration:none; }.pp-workflow-profile a.is-attention { color:#a15d00; }
.pp-workflow-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:980px; margin:8px auto 0; }.pp-workflow-settings h2 { margin:5px 0 8px; font-size:1.12rem; }.pp-workflow-settings p { margin:0 0 15px; color:#737379; font-size:.78rem; line-height:1.55; }.pp-settings-field { display:grid; gap:7px; margin:14px 0; color:#333338; font-size:.75rem; font-weight:850; }.pp-settings-field select { min-height:42px; padding:0 10px; color:#29292e; background:#fff; border:1px solid #d6d6da; border-radius:8px; font:inherit; }.pp-settings-check { display:flex; gap:9px; align-items:start; margin:14px 0; color:#343439; font-size:.77rem; font-weight:800; }.pp-settings-check input { width:16px; height:16px; margin:0; accent-color:#1769d1; }.pp-validation-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:16px; }.pp-validation-grid div { display:grid; grid-template-columns:24px minmax(0,1fr); gap:7px; align-items:center; padding:11px; background:#f5f5f6; border-radius:8px; }.pp-validation-grid i { color:#1769d1; }.pp-validation-grid strong,.pp-validation-grid small { display:block; }.pp-validation-grid strong { font-size:.69rem; }.pp-validation-grid small { margin-top:2px; color:#7a7a80; font-size:.62rem; }.pp-workflow-settings > button { grid-column:1 / -1; justify-self:end; }@media (max-width:700px) { .pp-workflow-settings { grid-template-columns:1fr; }.pp-workflow-settings > button { grid-column:auto; width:100%; }.pp-validation-grid { grid-template-columns:1fr; } }
.pp-page [hidden] { display:none !important; }
.pp-calendar-main { max-width:1540px; }.pp-calendar-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:18px 0; }.pp-calendar-heading h1 { margin:5px 0 0; color:#202124; font-size:clamp(2rem,3.8vw,3.2rem); letter-spacing:-.06em; }.pp-calendar-heading p { margin:8px 0 0; color:#737379; font-size:.82rem; }.pp-calendar-nav { display:flex; align-items:center; gap:12px; padding:6px; background:#fff; border:1px solid #dedee2; border-radius:10px; }.pp-calendar-nav a { width:34px; height:34px; display:grid; place-items:center; color:#29292d; border-radius:7px; text-decoration:none; }.pp-calendar-nav a:hover { background:#f1f1f2; }.pp-calendar-nav strong { min-width:130px; text-align:center; font-size:.78rem; text-transform:capitalize; }.pp-calendar-stats { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-bottom:12px; color:#727278; font-size:.7rem; }.pp-calendar-stats span { display:flex; align-items:center; gap:6px; }.pp-calendar-stats b { color:#222; font-size:.84rem; }.pp-calendar-stats i { color:#1769d1; font-size:.5rem; }.pp-calendar-stats .is-warning { color:#e58b19; }.pp-calendar-stats .is-muted { color:#8a8a91; }.pp-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); overflow:hidden; background:#fff; border:1px solid #dedee2; border-radius:13px; box-shadow:0 8px 24px rgba(0,0,0,.045); }.pp-calendar-weekday { padding:12px 10px; color:#727278; background:#f6f6f7; border-bottom:1px solid #dedee2; font-size:.65rem; text-transform:uppercase; }.pp-calendar-day { min-height:148px; padding:9px; border-right:1px solid #ececee; border-bottom:1px solid #ececee; }.pp-calendar-day:nth-child(7n) { border-right:0; }.pp-calendar-day.is-empty { background:#fafafa; }.pp-calendar-day > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }.pp-calendar-day time { width:24px; height:24px; display:grid; place-items:center; color:#343439; border-radius:50%; font-size:.72rem; font-weight:850; }.pp-calendar-day.is-today time { color:#fff; background:#1769d1; }.pp-calendar-day header small { color:#96969c; font-size:.58rem; }.pp-calendar-day > div { display:grid; gap:5px; }.pp-calendar-event { position:relative; display:grid; gap:2px; padding:7px; color:#333338; background:#edf4ff; border-left:3px solid #1769d1; border-radius:5px; text-decoration:none; }.pp-calendar-event:hover { background:#dfeeff; }.pp-calendar-event strong,.pp-calendar-event span,.pp-calendar-event small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.pp-calendar-event strong { font-size:.62rem; }.pp-calendar-event span { font-size:.63rem; font-weight:800; }.pp-calendar-event small { color:#717178; font-size:.57rem; }.pp-calendar-event em { color:#1769d1; font-size:.55rem; font-style:normal; font-weight:850; }.pp-calendar-event.status-5,.pp-calendar-event.status-6 { background:#fff4dd; border-left-color:#e58b19; }.pp-calendar-event.status-5 em,.pp-calendar-event.status-6 em { color:#a76100; }.pp-calendar-event.status-8,.pp-calendar-event.status-15,.pp-calendar-event.status-10 { background:#f0f0f1; border-left-color:#8c8c92; }.pp-calendar-event.status-8 em,.pp-calendar-event.status-15 em,.pp-calendar-event.status-10 em { color:#69696f; }.pp-calendar-more { color:#737379; font-size:.61rem; font-weight:800; }@media (max-width:900px) { .pp-calendar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.pp-calendar-weekday { display:none; }.pp-calendar-day:nth-child(7n) { border-right:1px solid #ececee; }.pp-calendar-day { min-height:130px; }.pp-calendar-heading { align-items:start; flex-direction:column; }.pp-calendar-nav { width:100%; justify-content:space-between; } }@media (max-width:520px) { .pp-calendar-grid { grid-template-columns:1fr; }.pp-calendar-day { min-height:0; }.pp-calendar-day.is-empty { display:none; } }
.pp-job-edit-form { display:grid; gap:22px; max-width:1180px; margin:0 auto; }.pp-job-edit-form > section > header { margin-bottom:13px; }.pp-job-edit-form h2 { margin:4px 0 0; font-size:1.06rem; }.pp-job-edit-form header p { max-width:760px; margin:6px 0 0; color:#75757b; font-size:.75rem; line-height:1.45; }.pp-edit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.pp-edit-grid label { display:grid; gap:6px; color:#414146; font-size:.7rem; font-weight:850; }.pp-edit-grid input,.pp-edit-grid select { min-height:41px; padding:0 10px; color:#242429; background:#fff; border:1px solid #d7d7db; border-radius:8px; font:inherit; font-size:.76rem; outline-color:#1769d1; }.pp-edit-references { grid-template-columns:repeat(4,minmax(0,1fr)); }.pp-job-edit-form > footer { display:flex; justify-content:end; gap:9px; padding-top:16px; border-top:1px solid #e6e6e8; }@media (max-width:900px) { .pp-edit-grid,.pp-edit-references { grid-template-columns:repeat(2,minmax(0,1fr)); } }@media (max-width:520px) { .pp-edit-grid,.pp-edit-references { grid-template-columns:1fr; }.pp-job-edit-form > footer { flex-direction:column-reverse; }.pp-job-edit-form > footer > * { width:100%; } }
.pdf-thumbnail img,.card-file-preview img,.version-file-preview img,.pp-row-preview img,.pp-card-preview img,.pp-artwork-preview img,.pp-document-preview img { object-fit:contain !important; object-position:center !important; background:#f4f4f5; }

/* Detail job v2: progressive disclosure, priority before density. */
.pp-detail-page .pp-job-tabs,.pp-detail-page .pp-workzone-card,.pp-detail-page .pp-deliverable-board,.pp-detail-page .pp-detail-lower { display:none !important; }
.pp-detail-v2 { display:grid; gap:14px; margin-top:14px; }.pp-detail-v2-tabs { display:flex; align-items:center; flex-wrap:wrap; gap:3px; padding:5px; background:#fff; border:1px solid #dedee1; border-radius:12px; box-shadow:0 4px 13px rgba(0,0,0,.03); }.pp-detail-v2-tabs a { display:inline-flex; align-items:center; gap:7px; min-height:35px; padding:0 10px; color:#65656b; border-radius:8px; font-size:.7rem; font-weight:850; text-decoration:none; white-space:nowrap; }.pp-detail-v2-tabs a i { color:#6f6f74; font-size:.77rem; }.pp-detail-v2-tabs a b { min-width:17px; padding:2px 5px; color:#55555b; background:#eeeeef; border-radius:99px; font-size:.6rem; text-align:center; }.pp-detail-v2-tabs a[aria-current="true"] { color:#fff; background:#111; box-shadow:0 2px 5px rgba(0,0,0,.16); }.pp-detail-v2-tabs a[aria-current="true"] i { color:#fff; }.pp-detail-v2-tabs a[aria-current="true"] b { color:#111; background:#fff; }.pp-job-panel { min-width:0; padding:20px; background:#fff; border:1px solid #dedee1; border-radius:14px; box-shadow:0 5px 18px rgba(0,0,0,.035); }.pp-panel-heading { display:flex; align-items:start; justify-content:space-between; gap:18px; margin-bottom:18px; }.pp-panel-heading .pp-eyebrow { margin:0 0 7px; }.pp-panel-heading h2 { margin:0; color:#202124; font-size:1.28rem; letter-spacing:-.035em; }.pp-panel-heading p { max-width:690px; margin:6px 0 0; color:#74747a; font-size:.76rem; line-height:1.45; }.pp-panel-count,.pp-panel-date { display:inline-flex; align-items:center; gap:6px; flex:none; min-height:32px; padding:0 9px; color:#505057; background:#f5f5f6; border:1px solid #dedee1; border-radius:7px; font-size:.68rem; font-weight:850; white-space:nowrap; }.pp-signage-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:16px; }.pp-signage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; border-top:1px solid #e9e9eb; border-left:1px solid #e9e9eb; }.pp-signage-grid > div { min-width:0; min-height:75px; padding:11px 12px; border-right:1px solid #e9e9eb; border-bottom:1px solid #e9e9eb; }.pp-signage-grid dt,.pp-brief-specs dt { margin-bottom:5px; color:#85858b; font-size:.6rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.pp-signage-grid dd,.pp-brief-specs dd { margin:0; overflow-wrap:anywhere; color:#28282d; font-size:.75rem; font-weight:800; line-height:1.35; }.pp-signal-priority { display:grid; align-content:start; grid-template-columns:30px minmax(0,1fr); gap:10px; padding:16px; color:#23603e; background:#eff8f1; border:1px solid #c8e6d0; border-radius:11px; }.pp-signal-priority.is-urgent { color:#9d202d; background:#fff0f1; border-color:#f1b6bd; box-shadow:inset 4px 0 0 #c62836; }.pp-signal-priority > i { padding-top:2px; font-size:1.25rem; }.pp-signal-priority div { display:grid; gap:4px; }.pp-signal-priority span { font-size:.63rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }.pp-signal-priority strong { font-size:.92rem; line-height:1.2; }.pp-signal-priority small { color:inherit; font-size:.69rem; line-height:1.45; opacity:.88; }.pp-signal-priority a { grid-column:1 / -1; display:inline-flex; align-items:center; justify-content:space-between; gap:8px; min-height:34px; margin-top:4px; padding:0 9px; color:inherit; background:rgba(255,255,255,.72); border:1px solid currentColor; border-radius:7px; font-size:.68rem; font-weight:900; text-decoration:none; }
.pp-brief-layout { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:16px; }.pp-brief-intent { min-height:220px; padding:19px; color:#fff; background:#151515; border-radius:11px; }.pp-brief-intent .pp-eyebrow { color:#bfbfc3; }.pp-brief-intent h3 { margin:10px 0; color:#fff; font-size:1.25rem; letter-spacing:-.035em; line-height:1.18; }.pp-brief-intent p { margin:0; color:#d8d8db; font-size:.78rem; line-height:1.55; }.pp-brief-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; border-top:1px solid #e6e6e8; border-left:1px solid #e6e6e8; }.pp-brief-specs > div { min-height:73px; padding:12px; border-right:1px solid #e6e6e8; border-bottom:1px solid #e6e6e8; }.pp-assets-list { display:grid; }.pp-assets-list article { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:13px; min-height:68px; padding:10px 0; border-bottom:1px solid #e8e8ea; }.pp-assets-list article:last-child { border-bottom:0; }.pp-asset-type { display:grid; place-items:center; min-height:35px; color:#1b589c; background:#e8f1ff; border:1px solid #cadefb; border-radius:7px; font-size:.62rem; font-weight:900; }.pp-assets-list article > div { min-width:0; display:grid; gap:4px; }.pp-assets-list strong { overflow:hidden; color:#29292e; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }.pp-assets-list small { color:#77777d; font-size:.67rem; }.pp-plan-alert { display:grid; grid-template-columns:31px minmax(0,1fr); align-items:center; gap:10px; margin-bottom:14px; padding:12px 13px; color:#286440; background:#ecf8ef; border:1px solid #c9e7d1; border-radius:10px; }.pp-plan-alert.is-urgent { color:#98202c; background:#fff0f1; border-color:#efb3bb; }.pp-plan-alert > i { font-size:1.2rem; }.pp-plan-alert div { display:grid; gap:3px; }.pp-plan-alert strong { font-size:.77rem; }.pp-plan-alert span { font-size:.69rem; line-height:1.35; }.pp-plan-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr); gap:14px; }.pp-gantt,.pp-job-calendar { overflow:hidden; border:1px solid #dedee1; border-radius:11px; }.pp-gantt > header,.pp-job-calendar > header { display:grid; gap:3px; padding:13px 14px; background:#f5f5f6; border-bottom:1px solid #dedee1; }.pp-gantt > header strong,.pp-job-calendar > header strong { color:#27272c; font-size:.76rem; }.pp-gantt > header small,.pp-job-calendar > header small { color:#76767c; font-size:.64rem; }.pp-gantt-row { display:grid; grid-template-columns:135px minmax(110px,1fr) 134px; align-items:center; gap:10px; min-height:39px; padding:0 13px; border-bottom:1px solid #ededee; }.pp-gantt-row:last-child { border-bottom:0; }.pp-gantt-row > span { color:#44444a; font-size:.67rem; font-weight:800; }.pp-gantt-row > div { position:relative; height:8px; overflow:hidden; background:#ececee; border-radius:99px; }.pp-gantt-row > div i { position:absolute; left:var(--start); width:var(--width); min-width:10px; height:100%; background:#23794a; border-radius:99px; }.pp-gantt-row.is-late > div i { background:#c62d39; }.pp-gantt-row time { color:#77777e; font-size:.62rem; font-variant-numeric:tabular-nums; text-align:right; }.pp-job-calendar ol { display:grid; gap:0; padding:0; margin:0; list-style:none; }.pp-job-calendar li { display:grid; grid-template-columns:87px minmax(0,1fr); gap:9px; padding:10px 13px; border-bottom:1px solid #ededee; }.pp-job-calendar li.is-late { color:#9d202d; background:#fff5f5; }.pp-job-calendar time { color:#77777e; font-size:.62rem; font-variant-numeric:tabular-nums; }.pp-job-calendar span { color:inherit; font-size:.67rem; font-weight:850; }.pp-quote-summary { display:grid; gap:3px; margin:11px; padding:12px; color:#51400d; background:#fff5db; border:1px solid #f0db9a; border-radius:8px; }.pp-quote-summary span { color:#876414; font-size:.6rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }.pp-quote-summary strong { color:#5a4309; font-size:.78rem; }.pp-quote-summary small { color:#7d621c; font-size:.64rem; }
.pp-asset-type.is-primary{color:#fff;background:#0d6efd;border-color:#0d6efd}.pp-asset-type.is-success{color:#fff;background:#198754;border-color:#198754}.pp-asset-type.is-danger{color:#fff;background:#dc3545;border-color:#dc3545}.pp-asset-type.is-warning{color:#212529;background:#ffc107;border-color:#ffc107}.pp-asset-type.is-info{color:#052c65;background:#9eeaf9;border-color:#6edff6}.pp-asset-type.is-purple{color:#fff;background:#6f42c1;border-color:#6f42c1}.pp-asset-type.is-dark{color:#fff;background:#212529;border-color:#212529}.pp-asset-type.is-secondary{color:#fff;background:#6c757d;border-color:#6c757d}.pp-asset-actions{display:flex!important;align-items:center;gap:7px!important}.pp-asset-actions form{margin:0}.pp-asset-delete{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;color:#b02a37;background:#fff;border:1px solid #eaadb3;border-radius:7px;font:inherit;font-size:.67rem;font-weight:850;cursor:pointer}.pp-asset-delete:hover{color:#fff;background:#dc3545;border-color:#dc3545}
.pp-asset-delete-dialog{overflow:hidden;width:min(92vw,500px);color:#212529;background:#fff;border:0;border-radius:16px;box-shadow:0 28px 90px rgba(0,0,0,.38)}.pp-asset-delete-dialog::backdrop{background:rgba(17,24,39,.68);backdrop-filter:blur(5px)}.pp-asset-delete-dialog form{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;min-width:0;padding:26px}.pp-asset-delete-dialog .pp-confirm-icon{display:grid;place-items:center;width:52px;height:52px;color:#b02a37;background:#f8d7da;border:1px solid #f1aeb5;border-radius:13px;font-size:1.15rem}.pp-asset-delete-dialog form>div{display:block;justify-content:initial;margin:0}.pp-asset-delete-dialog .pp-eyebrow{display:block;margin:1px 0 6px;color:#b02a37;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pp-asset-delete-dialog h2{margin:0 0 9px;color:#212529;font-size:1.3rem;line-height:1.2;letter-spacing:-.025em}.pp-asset-delete-dialog p{margin:0;color:#5c636a;font-size:.8rem;line-height:1.55}.pp-asset-delete-dialog p strong{display:block;overflow:hidden;margin-bottom:3px;color:#212529;text-overflow:ellipsis;white-space:nowrap}.pp-asset-delete-dialog footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin:6px -26px -26px;padding:16px 26px;background:#f8f9fa;border-top:1px solid #dee2e6}.pp-asset-delete-dialog footer button{min-height:40px}.pp-primary-action.is-danger{color:#fff;background:#dc3545;border-color:#dc3545}.pp-primary-action.is-danger:hover{background:#bb2d3b;border-color:#b02a37}
.pp-year-filters a{display:inline-flex;align-items:center;gap:7px}.pp-year-filters a b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;color:#495057;background:#e9ecef;border-radius:99px;font-size:.66rem;font-variant-numeric:tabular-nums}.pp-year-filters a[aria-current=page] b{color:#fff;background:#212529}
.pp-header-help{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 15px;color:#303036;background:#fff;border:1px solid #d9d9dd;border-radius:10px;font-size:.78rem;font-weight:850;text-decoration:none}.pp-header-help i{font-size:1.3em}.pp-reporting-main{display:grid;gap:18px}.pp-admin-chip,.pp-report-flash{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:9px 12px;color:#22543d;background:#e8f7ee;border:1px solid #b9dfc8;border-radius:9px;font-size:.72rem;font-weight:850}.pp-report-flash{margin:0}.pp-report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pp-report-metrics article{display:grid;gap:8px;padding:17px;background:#fff;border:1px solid #dddde1;border-radius:12px}.pp-report-metrics article>span{display:flex;align-items:center;gap:8px;color:#66666d;font-size:.7rem;font-weight:800}.pp-report-metrics strong{font-size:1.8rem}.pp-report-metrics small{color:#898990;font-size:.65rem}.pp-report-metrics .is-success{border-top:3px solid #198754}.pp-report-metrics .is-danger{border-top:3px solid #dc3545}.pp-report-metrics .is-warning{border-top:3px solid #ffc107}.pp-report-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:14px}.pp-invoice-queue>header,.pp-production-transition>header,.pp-risk-panel>header{display:flex;justify-content:space-between;gap:14px;padding:17px;border-bottom:1px solid #e3e3e6}.pp-invoice-queue h2,.pp-production-transition h2,.pp-risk-panel h2{margin:4px 0;font-size:1.05rem}.pp-invoice-queue header p,.pp-production-transition header p{margin:0;color:#777;font-size:.7rem}.pp-report-table-wrap{overflow:auto}.pp-report-table{width:100%;border-collapse:collapse}.pp-report-table th,.pp-report-table td{padding:11px 10px;border-bottom:1px solid #e8e8ea;text-align:left;font-size:.69rem}.pp-report-table th{color:#707077;background:#f7f7f8;font-size:.61rem;text-transform:uppercase}.pp-report-table td a{display:grid;gap:3px;color:#202024;text-decoration:none}.pp-report-table td small{color:#888}.pp-row-invoice{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;color:#155bb5;background:#eef5ff;border:1px solid #c5daf5;border-radius:7px;font:inherit;font-weight:850;cursor:pointer}.pp-bulk-bar{display:flex;align-items:end;justify-content:flex-end;gap:10px;padding:13px;background:#f7f7f8}.pp-bulk-bar label,.pp-report-email-field{display:grid;gap:5px;color:#555;font-size:.66rem;font-weight:800}.pp-bulk-bar input,.pp-report-email-field input{min-height:38px;padding:0 10px;border:1px solid #d5d5d9;border-radius:7px;font:inherit}.pp-risk-panel ol{display:grid;padding:0;margin:0;list-style:none}.pp-risk-panel li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:9px;padding:12px;border-bottom:1px solid #ececef}.pp-risk-days{display:grid;place-items:center;height:31px;color:#b02a37;background:#f8d7da;border-radius:7px;font-size:.67rem;font-weight:900}.pp-risk-panel li a{display:grid;gap:4px;color:#252529;text-decoration:none;font-size:.7rem}.pp-risk-panel li small{color:#818187}.pp-transition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.pp-transition-grid article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px;border-bottom:1px solid #e7e7e9}.pp-transition-grid article>div{display:grid;gap:4px;font-size:.7rem}.pp-transition-grid small{color:#85858b}.pp-report-dialog{width:min(92vw,480px)}@media(max-width:1024px){.pp-report-metrics{grid-template-columns:repeat(2,1fr)}.pp-report-layout{grid-template-columns:1fr}.pp-transition-grid{grid-template-columns:1fr}}@media(max-width:620px){.pp-report-metrics{grid-template-columns:1fr}.pp-header-help span{display:none}.pp-transition-grid article{align-items:flex-start;flex-direction:column}}
.pp-workzone-v2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.pp-workzone-v2 > article { display:grid; grid-template-columns:118px minmax(0,1fr); gap:12px; min-height:151px; padding:12px; background:#f8f8f9; border:1px solid #dfdfe2; border-radius:11px; }.pp-deliverable-number { grid-column:1 / -1; color:#25252a; font-size:.72rem; font-weight:900; }.pp-workzone-thumb { width:118px; height:81px; display:grid; place-items:center; align-self:start; overflow:hidden; padding:0; color:#1859ab; background:#fff; border:1px solid #cfd1d5; border-radius:6px; box-shadow:0 2px 7px rgba(0,0,0,.09); cursor:pointer; }.pp-workzone-thumb img { width:100%; height:100%; display:block; object-fit:contain; object-position:center; background:#f2f2f3; }.pp-workzone-thumb.is-placeholder { gap:5px; color:#74747a; font-size:.61rem; font-weight:850; }.pp-workzone-thumb.is-placeholder i { font-size:1.35rem; }.pp-workzone-thumb:hover,.pp-workzone-thumb:focus-visible { outline:3px solid #b9d4fc; outline-offset:2px; }.pp-workzone-v2 > article > div { min-width:0; display:grid; align-content:start; gap:6px; }.pp-workzone-v2 strong { overflow:hidden; color:#29292e; font-size:.75rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }.pp-workzone-v2 small { color:#77777d; font-size:.65rem; }.pp-activity-table { border-top:1px solid #e6e6e8; }.pp-activity-table article { display:grid; grid-template-columns:145px minmax(170px,1fr) 160px auto; align-items:center; gap:12px; min-height:48px; border-bottom:1px solid #e8e8ea; }.pp-activity-table time,.pp-activity-table span { color:#77777e; font-size:.66rem; }.pp-activity-table strong { color:#303036; font-size:.72rem; }.pp-activity-table b { justify-self:end; padding:4px 7px; color:#2d6e47; background:#ebf7ee; border:1px solid #c8e5d0; border-radius:99px; font-size:.6rem; }.pp-history-v2 { position:relative; display:grid; gap:0; padding:0; margin:0; list-style:none; }.pp-history-v2::before { content:""; position:absolute; top:17px; bottom:17px; left:128px; width:1px; background:#d9d9dc; }.pp-history-v2 li { position:relative; display:grid; grid-template-columns:115px 26px minmax(0,1fr); align-items:start; gap:0; min-height:53px; padding:10px 0; }.pp-history-v2 time { color:#77777e; font-size:.66rem; font-variant-numeric:tabular-nums; text-align:right; }.pp-history-v2 i { z-index:1; width:11px; height:11px; justify-self:center; margin-top:3px; color:#227247; background:#fff; border-radius:50%; font-size:.7rem; }.pp-history-v2 div { display:grid; gap:3px; padding-left:8px; }.pp-history-v2 strong { color:#303036; font-size:.72rem; }.pp-history-v2 small { color:#77777e; font-size:.65rem; }
.pp-pdf-dialog .pp-media-surface { position:relative; z-index:1; display:block; max-width:100%; max-height:min(68vh,760px); margin:auto; background:#f1f1f2; border:0; }.pp-pdf-dialog iframe.pp-media-surface { width:min(100%,920px); min-height:520px; }.pp-pdf-dialog iframe.pp-media-surface.is-pdf { pointer-events:none; }.pp-pdf-dialog video.pp-media-surface { width:min(100%,920px); }.pp-pdf-dialog img.pp-media-surface { width:auto; height:auto; }.pp-pdf-dialog .pp-pdf-stage { min-height:340px; }.pp-pdf-dialog .pp-pdf-stage .pp-media-surface + * { position:relative; }.pp-floating-chat[open] summary { box-shadow:0 0 0 4px rgba(31,117,71,.13); }
.pp-chat-close { width:33px; height:33px; display:grid; place-items:center; flex:none; color:#55555b; background:#f3f3f4; border:1px solid #dedee1; border-radius:50%; cursor:pointer; }.pp-chat-close:hover,.pp-chat-close:focus-visible { color:#fff; background:#111; border-color:#111; }
@media (max-width:1100px) { .pp-signage-layout,.pp-plan-grid { grid-template-columns:1fr; }.pp-signal-priority { grid-template-columns:30px minmax(0,1fr) auto; }.pp-signal-priority a { grid-column:auto; align-self:end; }.pp-workzone-v2 { grid-template-columns:1fr; } }
@media (max-width:768px) { .pp-detail-v2-tabs { flex-wrap:nowrap; overflow-x:auto; }.pp-detail-v2-tabs a { flex:none; }.pp-job-panel { padding:15px; }.pp-panel-heading { align-items:start; flex-direction:column; gap:10px; }.pp-signage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.pp-brief-layout { grid-template-columns:1fr; }.pp-plan-grid { gap:10px; }.pp-gantt-row { grid-template-columns:105px minmax(72px,1fr) 94px; gap:6px; padding-inline:9px; }.pp-gantt-row > span,.pp-gantt-row time { font-size:.58rem; }.pp-workzone-v2 > article { grid-template-columns:96px minmax(0,1fr); }.pp-workzone-thumb { width:96px; height:67px; }.pp-activity-table article { grid-template-columns:1fr auto; gap:4px 11px; padding:10px 0; }.pp-activity-table article time { grid-column:1; }.pp-activity-table article strong { grid-column:1 / -1; }.pp-activity-table article b { grid-column:2; grid-row:1; }.pp-history-v2::before { left:96px; }.pp-history-v2 li { grid-template-columns:86px 21px minmax(0,1fr); }.pp-history-v2 time { font-size:.6rem; }.pp-pdf-dialog iframe.pp-media-surface { min-height:360px; } }
@media (max-width:520px) { .pp-signage-grid,.pp-brief-specs { grid-template-columns:1fr; }.pp-signal-priority { grid-template-columns:28px minmax(0,1fr); }.pp-signal-priority a { grid-column:1 / -1; }.pp-assets-list article { grid-template-columns:44px minmax(0,1fr); }.pp-assets-list .pp-secondary-action { grid-column:2; width:fit-content; }.pp-gantt-row { grid-template-columns:1fr 82px; padding:9px; }.pp-gantt-row > div { display:none; }.pp-gantt-row time { text-align:right; }.pp-workzone-v2 > article { grid-template-columns:1fr; }.pp-workzone-thumb { width:100%; height:122px; }.pp-workzone-v2 strong { white-space:normal; }.pp-job-calendar li { grid-template-columns:76px minmax(0,1fr); }.pp-pdf-dialog iframe.pp-media-surface { min-height:260px; } }
.pp-asset-dropzone { display:grid; grid-template-columns:42px minmax(0,1fr) auto auto; align-items:center; gap:14px; margin-bottom:16px; padding:16px; background:#f7f9fc; border:2px dashed #aeb9c8; border-radius:11px; transition:border-color .16s ease,background .16s ease; }.pp-asset-dropzone.is-dragging { background:#edf5ff; border-color:#1670ef; }.pp-asset-dropzone > i { display:grid; place-items:center; width:42px; height:42px; color:#155bb5; background:#e4efff; border-radius:9px; font-size:1.1rem; }.pp-asset-dropzone > div { min-width:0; display:grid; gap:3px; }.pp-asset-dropzone strong { color:#29292e; font-size:.76rem; }.pp-asset-dropzone small,.pp-asset-dropzone [data-asset-filename] { overflow:hidden; color:#74747b; font-size:.64rem; text-overflow:ellipsis; white-space:nowrap; }.pp-asset-dropzone [data-asset-filename] { color:#155bb5; font-weight:750; }.pp-asset-dropzone label { min-height:36px; display:inline-flex; align-items:center; padding:0 12px; color:#333338; background:#fff; border:1px solid #d2d5da; border-radius:7px; cursor:pointer; font-size:.69rem; font-weight:800; }.pp-asset-dropzone input[type=file] { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.pp-asset-dropzone .pp-primary-action[disabled] { opacity:.45; cursor:not-allowed; }
@media (max-width:768px) { .pp-asset-dropzone { grid-template-columns:42px minmax(0,1fr); }.pp-asset-dropzone label,.pp-asset-dropzone .pp-primary-action { width:100%; justify-content:center; } }
.pp-top-actions > .pp-icon-action > i { transform:translateY(3px); }
.pp-evaluations-list { display:grid; gap:10px; }.pp-evaluations-list article { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; padding:13px; border:1px solid #e1e1e4; border-radius:9px; }.pp-evaluations-list article > i { display:grid; place-items:center; width:38px; height:38px; color:#155bb5; background:#e8f1ff; border-radius:50%; }.pp-evaluations-list article div { display:grid; gap:3px; }.pp-evaluations-list strong { font-size:.76rem; }.pp-evaluations-list small { color:#77777d; font-size:.64rem; }.pp-evaluations-list p { margin:4px 0 0; color:#55555b; font-size:.72rem; }
.pp-product-specifications { margin-top:14px; overflow:hidden; border:1px solid #dedee1; border-radius:10px; }.pp-product-specifications summary { display:flex; align-items:center; gap:9px; min-height:43px; padding:0 13px; color:#303036; background:#f6f6f7; cursor:pointer; font-size:.72rem; font-weight:850; list-style:none; }.pp-product-specifications summary::-webkit-details-marker { display:none; }.pp-product-specifications summary::after { content:"+"; margin-left:auto; font-size:1rem; }.pp-product-specifications[open] summary::after { content:"−"; }.pp-product-specifications > div { display:grid; gap:10px; padding:13px; }.pp-product-specifications dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; border-top:1px solid #e7e7e9; border-left:1px solid #e7e7e9; }.pp-product-specifications dl > div { min-height:64px; padding:10px; border-right:1px solid #e7e7e9; border-bottom:1px solid #e7e7e9; }.pp-product-specifications dt { color:#85858b; font-size:.59rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.pp-product-specifications dd { margin:5px 0 0; color:#28282d; font-size:.72rem; font-weight:800; overflow-wrap:anywhere; }
@media (max-width:768px) { .pp-product-specifications dl { grid-template-columns:repeat(2,minmax(0,1fr)); } }@media (max-width:520px) { .pp-product-specifications dl { grid-template-columns:1fr; } }
.pp-job-participants { display:flex; align-items:center; min-width:68px; padding:3px 0; }.pp-job-participant,.pp-job-participants > b { width:27px; height:27px; display:grid; place-items:center; margin-left:-5px; color:#fff; background:#62626a; border:2px solid #fff; border-radius:50%; box-sizing:border-box; font-size:.56rem; font-weight:850; line-height:1; text-decoration:none; }.pp-job-participant:first-child { margin-left:0; }.pp-job-participant.is-axa { background:#1769d1; }.pp-job-participant.is-pp { background:#171719; }.pp-job-participant.is-online { outline:2px solid #22a45d; outline-offset:1px; }.pp-job-participant:hover { position:relative; z-index:2; transform:translateY(-2px); }.pp-job-participants > b { color:#55555b; background:#f0f0f2; font-size:.55rem; }
.pp-floating-chat { position:fixed; z-index:30; right:28px; bottom:26px; min-height:48px; display:flex; align-items:center; gap:9px; padding:0 15px; color:#fff; background:#0b0b0c; border:0; border-radius:99px; box-shadow:0 12px 30px rgba(0,0,0,.25); font:inherit; font-size:.74rem; font-weight:850; cursor:pointer; }.pp-floating-chat:hover { background:#1965c2; }.pp-floating-chat > i { font-size:1rem; }.pp-floating-chat b { min-width:19px; height:19px; display:grid; place-items:center; color:#111; background:#fff; border-radius:50%; font-size:.6rem; }.pp-chat-dialog { width:min(780px,94vw); max-width:none; max-height:min(760px,88vh); padding:0; overflow:visible; background:transparent; border:0; border-radius:14px; box-shadow:0 24px 70px rgba(0,0,0,.32); }.pp-chat-dialog::backdrop { background:rgba(15,16,18,.65); backdrop-filter:blur(3px); }.pp-chat-dialog .pp-module-conversation { display:block; max-height:calc(88vh - 8px); overflow:auto; padding:22px; border:0; border-radius:14px; box-shadow:none; }.pp-chat-dialog-close { position:absolute; z-index:2; top:12px; right:12px; width:34px; height:34px; display:grid; place-items:center; color:#333; background:#f3f3f4; border:0; border-radius:8px; cursor:pointer; }.pp-chat-dialog .pp-module-conversation > header { padding-right:45px; }.pp-chat-dialog .pp-conversation-stream { max-height:360px; }.pp-chat-dialog .pp-chat-compose { position:sticky; bottom:0; padding-top:12px; background:#fff; }@media (max-width:620px) { .pp-floating-chat { right:16px; bottom:16px; }.pp-floating-chat span { display:none; }.pp-floating-chat { width:50px; padding:0; justify-content:center; }.pp-floating-chat b { position:absolute; top:-4px; right:-3px; }.pp-chat-dialog { width:100vw; max-height:100dvh; }.pp-chat-dialog .pp-module-conversation { min-height:100dvh; max-height:100dvh; border-radius:0; }.pp-chat-dialog .pp-conversation-stream { max-height:calc(100dvh - 330px); } }
.pp-detail-modules > .pp-module-conversation { display:none !important; }.pp-floating-chat { display:block; width:auto; min-height:0; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }.pp-floating-chat > summary { min-height:48px; display:flex; align-items:center; gap:9px; padding:0 15px; color:#fff; background:#0b0b0c; border-radius:99px; box-shadow:0 12px 30px rgba(0,0,0,.25); font-size:.74rem; font-weight:850; cursor:pointer; list-style:none; }.pp-floating-chat > summary::-webkit-details-marker { display:none; }.pp-floating-chat > summary:hover { background:#1965c2; }.pp-floating-chat > summary > i { font-size:1rem; }.pp-floating-chat > summary b { min-width:19px; height:19px; display:grid; place-items:center; color:#111; background:#fff; border-radius:50%; font-size:.6rem; }.pp-floating-chat-panel { position:absolute; right:0; bottom:61px; width:min(700px,calc(100vw - 36px)); max-height:min(720px,calc(100vh - 100px)); display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:20px; overflow:hidden; background:#fff; border:1px solid #dedee2; border-radius:14px; box-shadow:0 22px 60px rgba(0,0,0,.28); }.pp-floating-chat-panel > header { display:flex; align-items:start; justify-content:space-between; gap:20px; padding-bottom:12px; border-bottom:1px solid #e9e9eb; }.pp-floating-chat-panel h2 { margin:4px 0 0; color:#202024; font-size:1.05rem; }.pp-floating-chat-panel > header p { margin:6px 0 0; color:#77777d; font-size:.72rem; line-height:1.45; }.pp-floating-chat-panel > header > i { color:#1769d1; font-size:1.2rem; }.pp-floating-chat-panel .pp-conversation-stream { max-height:none; min-height:0; margin:12px 0; }.pp-floating-chat-panel .pp-chat-compose { position:sticky; bottom:0; padding-top:10px; background:#fff; }@media (max-width:620px) { .pp-floating-chat > summary span { display:none; }.pp-floating-chat > summary { width:50px; justify-content:center; padding:0; }.pp-floating-chat > summary b { position:absolute; top:-4px; right:-3px; }.pp-floating-chat-panel { position:fixed; right:12px; bottom:76px; width:calc(100vw - 24px); max-height:calc(100dvh - 96px); } }
.pp-pdf-open { width:30px; height:30px; display:grid; place-items:center; color:#155bb5; background:#edf4ff; border:1px solid #c9ddfb; border-radius:7px; cursor:pointer; }.pp-pdf-open:hover { color:#fff; background:#155bb5; }.pp-pdf-dialog { width:min(1440px,96vw); height:min(900px,93vh); max-width:none; max-height:none; padding:0; color:#25252a; border:0; border-radius:14px; box-shadow:0 26px 70px rgba(0,0,0,.36); }.pp-pdf-dialog::backdrop { background:rgba(15,16,18,.68); backdrop-filter:blur(3px); }.pp-pdf-dialog > section { display:grid; grid-template-rows:auto minmax(0,1fr); height:100%; }.pp-pdf-dialog > section > header { display:flex; align-items:start; justify-content:space-between; gap:20px; padding:19px 23px 15px; background:#fff; border-bottom:1px solid #e4e4e7; }.pp-pdf-dialog h2 { margin:4px 0 0; font-size:1.18rem; }.pp-pdf-dialog header p { margin:6px 0 0; color:#77777d; font-size:.74rem; }.pp-pdf-dialog [data-pdf-close] { width:34px; height:34px; display:grid; place-items:center; color:#333; background:#f2f2f3; border:0; border-radius:8px; cursor:pointer; }.pp-pdf-workbench { min-height:0; display:grid; grid-template-columns:minmax(0,1fr) 350px; background:#ececef; }.pp-pdf-stage { position:relative; min-width:0; min-height:0; display:grid; place-items:center; overflow:auto; padding:24px; background:#54545b; cursor:crosshair; }.pp-pdf-stage canvas { position:relative; z-index:1; display:block; max-width:100%; height:auto; background:#fff; box-shadow:0 12px 30px rgba(0,0,0,.35); }.pp-pdf-markers { position:absolute; z-index:2; pointer-events:none; }.pp-pdf-stage canvas + .pp-pdf-markers { inset:24px; }.pp-pdf-marker { position:absolute; width:24px; height:24px; display:grid; place-items:center; transform:translate(-50%,-50%); color:#fff; background:#d52e35; border:2px solid #fff; border-radius:50%; box-shadow:0 2px 8px rgba(0,0,0,.35); font-size:.62rem; font-style:normal; font-weight:900; pointer-events:auto; cursor:pointer; }.pp-pdf-marker.is-draft { background:#1769d1; }.pp-pdf-loading { position:absolute; z-index:3; display:grid; gap:9px; place-items:center; color:#fff; text-align:center; font-size:.76rem; }.pp-pdf-loading strong,.pp-pdf-loading a { display:block; }.pp-pdf-loading a { color:#fff; font-weight:800; text-decoration:none; }.pp-pdf-workbench > aside { min-height:0; display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:16px; background:#fff; border-left:1px solid #dedee2; }.pp-pdf-sidebar-heading { display:flex; align-items:center; justify-content:space-between; padding-bottom:12px; border-bottom:1px solid #e7e7e9; font-size:.8rem; }.pp-pdf-sidebar-heading span { min-width:22px; height:22px; display:grid; place-items:center; color:#fff; background:#111; border-radius:50%; font-size:.62rem; }.pp-pdf-workbench ol { display:grid; align-content:start; gap:8px; min-height:0; margin:0; padding:12px 0; overflow:auto; list-style:none; }.pp-pdf-workbench ol li { display:grid; grid-template-columns:22px minmax(0,1fr); gap:8px; padding:9px; background:#f6f6f7; border-radius:8px; }.pp-pdf-workbench ol li > b { width:21px; height:21px; display:grid; place-items:center; color:#fff; background:#d52e35; border-radius:50%; font-size:.61rem; }.pp-pdf-workbench ol strong,.pp-pdf-workbench ol small { display:block; }.pp-pdf-workbench ol strong { font-size:.68rem; }.pp-pdf-workbench ol small { margin-top:2px; color:#85858a; font-size:.59rem; }.pp-pdf-workbench ol p { margin:5px 0 0; color:#4b4b50; font-size:.7rem; line-height:1.4; }.pp-pdf-workbench form { padding-top:12px; border-top:1px solid #e7e7e9; }.pp-pdf-draft { margin:0 0 8px; color:#77777d; font-size:.68rem; line-height:1.4; }.pp-pdf-workbench textarea { width:100%; padding:9px; border:1px solid #d6d6da; border-radius:8px; font:inherit; font-size:.72rem; resize:vertical; }.pp-pdf-workbench form button { width:100%; min-height:38px; margin-top:8px; }.pp-pdf-workbench form button:disabled { opacity:.5; cursor:not-allowed; }@media (max-width:850px) { .pp-pdf-dialog { width:100vw; height:100dvh; border-radius:0; }.pp-pdf-workbench { grid-template-columns:1fr; grid-template-rows:minmax(320px,1fr) minmax(280px,.7fr); }.pp-pdf-workbench > aside { border-top:1px solid #dedee2; border-left:0; }.pp-pdf-stage { padding:16px; }.pp-pdf-stage canvas + .pp-pdf-markers { inset:16px; } }
