/* generated by tools/build_assets.py from the approved mock-up */
#ppm-root.admin{--cream:#FAF7F1;--cream-2:#EFE9DF;--ink:#14181D;--muted:#4A525C;--navy:#142C46;--navy-2:#0E2036;--brass:#AF925A;--brass-2:#C9AE78;--line:#DDD5C8;--ok:#2e7d4f;--warn:#b26a00}
#ppm-root.admin *{box-sizing:border-box}
#ppm-root.admin,#ppm-root.admin{overflow-anchor:none}
#ppm-root.admin{margin:0;background:#F3EFE8;color:var(--ink);font:15px/1.5 Inter,system-ui,sans-serif}
#ppm-root.admin h1,#ppm-root.admin h2,#ppm-root.admin h3{font-family:"Bricolage Grotesque",Inter,sans-serif;color:var(--navy);margin:0;letter-spacing:-.02em}
#ppm-root.admin img{display:block;max-width:100%}
#ppm-root.admin a{color:var(--navy)}
#ppm-root.admin .mockbar{background:#fff3cd;color:#5c4400;font-size:.8rem;text-align:center;padding:6px 12px}
#ppm-root.admin .top{background:var(--navy);color:#fff}
#ppm-root.admin .top .in{max-width:1300px;margin:0 auto;padding:0 20px;height:58px;display:flex;align-items:center;justify-content:space-between}
#ppm-root.admin .top b{font:700 1.05rem "Bricolage Grotesque",Inter,system-ui,sans-serif}
#ppm-root.admin .top b i{font-family:"Instrument Serif";color:var(--brass-2);font-weight:400}
#ppm-root.admin .top a{color:#fff;font-size:.85rem}
#ppm-root.admin .wrap{max-width:1300px;margin:0 auto;padding:20px}
#ppm-root.admin .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
#ppm-root.admin .kpi{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 1px 0 var(--line)}
#ppm-root.admin .kpi b{display:block;font:800 1.9rem/1 "Bricolage Grotesque",Inter,system-ui,sans-serif;color:var(--navy)}
#ppm-root.admin .kpi span{font-size:.82rem;color:var(--muted)}
#ppm-root.admin .cols{display:grid;grid-template-columns:420px 1fr;gap:18px;align-items:start}
#ppm-root.admin .card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 1px 0 var(--line)}
#ppm-root.admin .job{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:12px;cursor:pointer;border:2px solid transparent}
#ppm-root.admin .job:hover{background:var(--cream)}
#ppm-root.admin .job.on{border-color:var(--navy);background:var(--cream)}
#ppm-root.admin .job img{width:56px;height:42px;object-fit:cover;border-radius:8px}
#ppm-root.admin .job b{display:block;font-size:.92rem}
#ppm-root.admin .job span{font-size:.78rem;color:var(--muted)}
#ppm-root.admin .t{font:700 .78rem Inter,system-ui,sans-serif;border-radius:999px;padding:4px 9px;white-space:nowrap}
#ppm-root.admin .t.ok{background:#e1f2e8;color:var(--ok)}
#ppm-root.admin .t.late{background:#fde8e1;color:#b3402a}
#ppm-root.admin .t.soon{background:#fff3cd;color:var(--warn)}
#ppm-root.admin .t.paid{background:#e8eef6;color:#1f5fa8}
#ppm-root.admin .tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
#ppm-root.admin .tabs button{font:600 .82rem Inter,system-ui,sans-serif;border:0;background:var(--cream-2);color:var(--navy);padding:8px 13px;border-radius:999px;cursor:pointer}
#ppm-root.admin .tabs button.on{background:var(--navy);color:#fff}
#ppm-root.admin .work{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#ppm-root.admin .pic{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:3/2;background:#222}
#ppm-root.admin .pic img{width:100%;height:100%;object-fit:cover}
#ppm-root.admin .pic .l{position:absolute;left:8px;top:8px;font:600 .64rem Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;background:rgba(20,44,70,.85);color:#fff;padding:5px 9px;border-radius:999px}
#ppm-root.admin .drop{border:2px dashed var(--line);border-radius:12px;aspect-ratio:3/2;display:grid;place-items:center;text-align:center;color:var(--muted);cursor:pointer;padding:10px;background:var(--cream)}
#ppm-root.admin .drop b{color:var(--navy);display:block}
#ppm-root.admin .chk{list-style:none;padding:0;margin:14px 0}
#ppm-root.admin .chk li{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
#ppm-root.admin .chk input{accent-color:var(--navy);width:17px;height:17px}
#ppm-root.admin .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
#ppm-root.admin .btn{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font:600 .88rem Inter,system-ui,sans-serif;padding:11px 18px;border-radius:999px;border:0;cursor:pointer;text-decoration:none}
#ppm-root.admin .btn.brass{background:var(--brass);color:var(--navy-2)}
#ppm-root.admin .btn.line{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}
#ppm-root.admin .opt{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-size:.88rem}
#ppm-root.admin .opt label{display:flex;gap:8px;align-items:center}
#ppm-root.admin .meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
#ppm-root.admin .meta div{background:var(--cream);border-radius:10px;padding:9px 12px;font-size:.82rem;color:var(--muted)}
#ppm-root.admin .meta b{display:block;color:var(--navy);font-size:.92rem}
#ppm-root.admin .log{font-size:.82rem;color:var(--muted);margin-top:12px}
#ppm-root.admin .app main,#ppm-root.admin .pane,#ppm-root.admin .wrap,#ppm-root.admin .av{min-width:0}
#ppm-root.admin .card:has(table){overflow-x:auto}
@media(max-width:700px){#ppm-root.admin .card table{min-width:560px}}
#ppm-root.admin .mg{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:stretch;height:clamp(500px,calc(100vh - 190px),760px)}
#ppm-root.admin .mg>.card{display:flex;flex-direction:column;min-height:0}
#ppm-root.admin #mlist{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
#ppm-root.admin .thr2{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin-bottom:8px;-webkit-overflow-scrolling:touch}
#ppm-root.admin .qr{max-height:88px;overflow-y:auto}
@media(max-width:1000px){#ppm-root.admin .mg{grid-template-columns:1fr;height:auto}
#ppm-root.admin #mlist{max-height:220px}
#ppm-root.admin .thr2{max-height:46vh;min-height:220px}}
#ppm-root.admin .mt{padding:10px;border-radius:12px;cursor:pointer;border:2px solid transparent}
#ppm-root.admin .mt:hover{background:var(--cream)}
#ppm-root.admin .mt.on{border-color:var(--navy);background:var(--cream)}
#ppm-root.admin .mt b{display:block;font-size:.92rem}
#ppm-root.admin .mt span{font-size:.78rem;color:var(--muted)}
#ppm-root.admin .mt .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brass);margin-right:6px}
#ppm-root.admin .bub{max-width:80%;padding:10px 14px;border-radius:16px;font-size:.9rem;margin:8px 0}
#ppm-root.admin .bub small{display:block;color:var(--muted);font-size:.72rem;margin-top:4px}
#ppm-root.admin .bub.cl{background:var(--cream-2);border-bottom-left-radius:4px}
#ppm-root.admin .bub.me{background:var(--navy);color:#fff;margin-left:auto;border-bottom-right-radius:4px}
#ppm-root.admin .bub.me small{color:rgba(255,255,255,.7)}
#ppm-root.admin .qr{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
#ppm-root.admin .qr button{font:600 .78rem Inter,system-ui,sans-serif;border:0;background:var(--cream-2);color:var(--navy);padding:6px 11px;border-radius:999px;cursor:pointer}
#ppm-root.admin .qr button:hover{background:var(--navy);color:#fff}
#ppm-root.admin textarea.rp{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit;min-height:70px}
#ppm-root.admin .nav{max-width:1300px;margin:0 auto;padding:14px 20px 0;display:flex;gap:6px;flex-wrap:wrap}
#ppm-root.admin .nav button{font:600 .88rem Inter,system-ui,sans-serif;border:0;background:#fff;color:var(--navy);padding:9px 16px;border-radius:999px;cursor:pointer;box-shadow:0 1px 0 var(--line)}
#ppm-root.admin .nav button.on{background:var(--navy);color:#fff}
#ppm-root.admin .av{display:none}
#ppm-root.admin .av.on{display:block}
#ppm-root.admin table{width:100%;border-collapse:collapse;font-size:.9rem}
#ppm-root.admin th,#ppm-root.admin td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line)}
#ppm-root.admin th{font:600 .72rem Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
#ppm-root.admin .sw{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
#ppm-root.admin .sw span{flex:1}
#ppm-root.admin .sw small{display:block;color:var(--muted)}
#ppm-root.admin .okm{background:#e1f2e8;color:var(--ok);border-radius:10px;padding:9px 13px;font-size:.85rem;margin-top:10px}
#ppm-root.admin .g2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:1000px){#ppm-root.admin .g2{grid-template-columns:1fr}}
@media(max-width:1000px){#ppm-root.admin .cols{grid-template-columns:1fr}
#ppm-root.admin .kpis{grid-template-columns:1fr 1fr}
#ppm-root.admin .work{grid-template-columns:1fr}}
