/* partners/partners.css — partneriportaal: projektijuhi vaade (admin.html #partners) ja partneri leht (partner.html). Klassid pt-* / pp-* */
.pt-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;}
.pt-kpis .stat{background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:12px 14px;}
.pt-kpis .num{font-size:26px;font-weight:800;line-height:1.1;} .pt-kpis .lbl{font-size:12px;color:var(--slate,#5C6670);}
.pt-kpis .pt-attn{border-color:#f0b37e;background:#fff7ef;}
.pt-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px;}
.pt-tab{min-height:36px;padding:0 14px;border:1px solid var(--border,#e2e8f0);border-radius:999px;background:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--navy,#0B1F33);}
.pt-tab.on{background:var(--navy,#0B1F33);color:#fff;border-color:var(--navy,#0B1F33);}
.pt-badge{display:inline-block;min-width:18px;padding:0 6px;border-radius:999px;background:#d72638;color:#fff;font-size:11px;font-weight:800;text-align:center;}
.pt-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0;}
.pt-row h3{margin:0;}
.pt-grow{flex:1 1 220px;min-width:0;}
.pt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:10px;}
.pt-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--slate,#5C6670);}
.pt-grid .pt-wide,.pt-grid fieldset{grid-column:1/-1;}
.pt-grid fieldset{border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:8px 12px;}
.pt-chk{flex-direction:row !important;align-items:center;gap:8px !important;font-weight:500 !important;color:inherit !important;margin-right:12px;}
.pt-in{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--border,#e2e8f0);border-radius:8px;background:#fff;color:inherit;min-height:38px;width:100%;box-sizing:border-box;}
.pt-in.pt-s{width:96px;}
textarea.pt-in{resize:vertical;}
.pt-scroll{overflow-x:auto;max-width:100%;}
.pt-table{width:100%;border-collapse:collapse;font-size:13px;}
.pt-table th{text-align:left;padding:8px;font-size:11px;text-transform:uppercase;color:var(--slate,#5C6670);border-bottom:2px solid var(--border,#e2e8f0);vertical-align:bottom;}
.pt-table td{padding:8px;border-bottom:1px solid var(--border,#e2e8f0);vertical-align:top;}
.pt-table.pt-mini td{padding:4px 8px;}
.pt-lines td{padding:4px;}
.pt-act{white-space:nowrap;} .pt-act .btn{margin:2px 0;}
.pt-off td{opacity:.55;}
.pt-best td{background:#effaf3;} .pt-min{font-weight:800;color:#14683d;}
.pt-late td{background:#fff4f4;}
.pt-pill{display:inline-block;padding:1px 9px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--border,#e2e8f0);background:#f4f6f8;color:#5C6670;}
.pt-pill.ok{background:#eafaf1;color:#14683d;border-color:#a7e3c4;} .pt-pill.warn{background:#fdf3e3;color:#8a5a06;border-color:#f0d6a8;} .pt-pill.bad{background:#fdeaec;color:#b3261e;border-color:#f5b5bd;}
.pt-muted{color:var(--slate,#5C6670);font-size:12px;} .pt-warn{color:#a8560a;font-size:12px;font-weight:600;} .pt-warn li{margin:2px 0;}
.pt-ok{color:#14683d;font-weight:600;} .pt-bad{color:#b3261e;font-weight:600;}
.pt-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;}
.pt-post,.pt-inv{border-top:1px solid var(--border,#e2e8f0);padding:10px 0;}
.pt-post:first-of-type,.pt-inv:first-of-type{border-top:0;}
.pt-inv.pt-st-submitted{border-left:4px solid #e8a317;padding-left:10px;} .pt-inv.pt-st-rejected{border-left:4px solid #d72638;padding-left:10px;}
.pt-link input{font-family:ui-monospace,monospace;font-size:12px;}
.pt-others{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.pt-msgs{display:grid;grid-template-columns:240px 1fr;gap:12px;}
.pt-plist{display:flex;flex-direction:column;gap:4px;}
.pt-pbtn{text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:none;font:inherit;cursor:pointer;color:inherit;}
.pt-pbtn.on{background:#f1f4f8;border-color:var(--border,#e2e8f0);font-weight:700;}
.pt-chat{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto;padding:6px 0;}
.pt-bubble{max-width:80%;padding:8px 12px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;}
.pt-bubble.me{align-self:flex-end;background:#0B1F33;color:#fff;} .pt-bubble.me .pt-muted{color:#c9d6e3;}
.pt-bubble.them{align-self:flex-start;background:#f1f4f8;}
.linkbtn{background:none;border:0;color:#c2410c;font:inherit;font-weight:600;cursor:pointer;padding:0;}
/* partneri leht */
.pp-page{background:#f7f9fb;}
.pp-main{max-width:980px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:12px;}
.pp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.pp-head h1{margin:2px 0;font-size:24px;} .pp-ev{font-size:13px;font-weight:700;color:#c2410c;} .pp-sub{color:#5C6670;}
.pp-todo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.pp-todo li{padding:10px 12px;border-radius:10px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.pp-todo .ok{background:#eafaf1;} .pp-todo .warn{background:#fdf3e3;} .pp-todo .bad{background:#fdeaec;}
.pp-list{margin:0;padding-left:18px;} .pp-need{background:#fffaf3;margin:0 -12px;padding:10px 12px;}
.pp-task{border-top:1px solid var(--border,#e2e8f0);padding:10px 0;} .pp-task.late{border-left:4px solid #d72638;padding-left:10px;} .pp-task.done{opacity:.7;}
.pp-offer{margin-top:8px;}
@media (max-width:720px){.pt-kpis{grid-template-columns:1fr 1fr;}.pt-grid{grid-template-columns:1fr;}.pt-msgs{grid-template-columns:1fr;}.pt-in.pt-s{width:72px;}}
