/* Creator panel and admin area. Builds on the tokens in styles.css. Mobile first. */
.p-body{background:var(--bg);min-height:100vh;display:flex;flex-direction:column}
.p-wrap{width:min(1180px,100% - 2*var(--gutter));margin-inline:auto}
.p-header{position:sticky;top:0;z-index:30;background:rgba(255,244,247,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(245,200,216,.6)}
.p-header-inner{display:flex;align-items:center;gap:14px;min-height:62px;flex-wrap:wrap;padding:8px 0}
.p-brand img{width:96px;height:auto}
.p-nav{display:flex;gap:6px;flex-wrap:wrap;order:3;width:100%}
.p-nav a{padding:8px 12px;border-radius:999px;font-weight:700;font-size:.88rem;color:var(--ink-2)}
.p-nav a.active,.p-nav a:hover{background:#fff;color:var(--pink)}
.p-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.p-user{font-weight:700;font-size:.9rem;color:var(--wine)}
.lang a{display:inline-block;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800;color:var(--muted);letter-spacing:.04em}
.lang a[aria-pressed="true"]{background:var(--pink);color:#fff}
.btn-sm{padding:8px 14px;font-size:.85rem}
.p-main{flex:1;padding:26px 0 48px}
.p-footer{background:var(--ink);color:#E9C4D4;padding:18px 0;font-size:.85rem;text-align:center}

.p-flash{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:600}
.p-flash-ok{background:var(--green-bg);color:#14633A}
.p-flash-err{background:var(--red-bg);color:var(--wine)}

.p-title{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-bottom:20px}
.p-title h1{font-size:clamp(1.6rem,5vw,2.2rem)}
.p-title .sub{color:var(--muted);font-weight:600;font-size:.95rem}
.p-month{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px}
.p-month a,.p-month span{padding:6px 12px;border-radius:999px;font-weight:700;font-size:.9rem;color:var(--wine)}
.p-month a:hover{background:var(--bg-2)}
.p-month span{background:var(--bg-2)}

.p-card{background:#fff;border-radius:var(--r);padding:20px;min-width:0;overflow-wrap:anywhere;box-shadow:var(--shadow);border:1px solid rgba(245,200,216,.5)}
.p-card h2{font-size:1.15rem;margin-bottom:14px}
.p-grid{display:grid;gap:16px;min-width:0}
.p-grid>*{min-width:0}
.p-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.p-stat{background:var(--bg);border-radius:14px;padding:14px}
.p-stat .l{display:block;font-size:.76rem;color:var(--muted);font-weight:700;letter-spacing:.02em}
.p-stat .v{display:block;font-family:var(--font-d);font-size:1.45rem;color:var(--wine);margin-top:4px;line-height:1.1}
.p-stat .t{display:block;font-size:.8rem;color:var(--ink-2);margin-top:4px}

.p-target{display:grid;gap:14px}
.p-bar-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:.9rem;color:var(--ink-2);margin-bottom:6px}
.p-bar-head strong{color:var(--wine);text-align:right}
.p-bar{height:12px;border-radius:999px;background:var(--bg-3);overflow:hidden}
.p-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--pink-2),var(--wine));border-radius:999px;transition:width .6s ease}
.p-bar.done span{background:linear-gradient(90deg,#4ED08A,var(--green))}
.p-muted{color:var(--muted);font-size:.88rem}

.p-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.p-cal .wd{text-align:center;font-size:.7rem;font-weight:800;color:var(--muted);padding-bottom:2px}
.p-day{aspect-ratio:1;border-radius:10px;background:var(--bg-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.72rem;color:var(--ink-2);position:relative}
.p-day b{font-size:.78rem;color:var(--ink)}
.p-day small{font-size:.62rem;line-height:1}
.p-day.valid{background:linear-gradient(180deg,#FF5FAE,var(--pink));color:#fff}
.p-day.valid b,.p-day.valid small{color:#fff}
.p-day.partial{background:#FFB8D7}
.p-day.none{background:var(--bg-3)}
.p-day.nodata{background:transparent;border:1.5px dashed var(--line);color:var(--muted)}
.p-day.future{opacity:.35}
.p-day.empty{background:transparent}
.p-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:.78rem;color:var(--ink-2)}
.p-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-2px;margin-right:6px}

.p-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.92rem}
.p-table.p-kv{min-width:0}
.p-table th{white-space:nowrap}
.p-table-wide{min-width:1040px}
.p-table th,.p-table td{padding:10px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.p-table th{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.p-table tr:last-child td{border-bottom:0}
.p-table .num{text-align:right;font-variant-numeric:tabular-nums}
.p-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.p-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:800}
.p-pill.ok{background:var(--green-bg);color:#14633A}
.p-pill.warn{background:#FFF3D6;color:#8A5A00}
.p-pill.bad{background:var(--red-bg);color:var(--wine)}
.p-pill.info{background:var(--bg-2);color:var(--wine)}

.p-form{display:grid;gap:14px}
.p-form label{display:grid;gap:6px;font-weight:700;font-size:.88rem;color:var(--ink-2)}
.p-form input,.p-form select,.p-form textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.p-form input:focus,.p-form select:focus,.p-form textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px rgba(229,23,110,.12)}
.p-form .row{display:grid;gap:12px}
.p-form .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.p-login{max-width:440px;margin:24px auto}
.p-login .p-card{padding:28px 24px}
.p-login h1{font-size:1.6rem;margin-bottom:8px}
.p-login .lead{font-size:.95rem;margin-bottom:18px}
.p-inline{display:inline}
.p-danger{color:var(--wine)}
.p-key{font-family:ui-monospace,Consolas,monospace;background:var(--bg);padding:10px 12px;border-radius:10px;word-break:break-all;font-size:.9rem}
.p-help{font-size:.85rem;color:var(--muted);margin-top:6px}
.p-actions-row{display:flex;gap:8px;flex-wrap:wrap}
.p-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}

@media (min-width:640px){
  .p-stats{grid-template-columns:repeat(3,1fr)}
  .p-kpis{grid-template-columns:repeat(4,1fr)}
  .p-form .row{grid-template-columns:1fr 1fr}
  .p-nav{order:0;width:auto}
  .p-brand img{width:104px}
}
@media (min-width:1024px){
  .p-grid-2{grid-template-columns:1.1fr .9fr}
  .p-stats{grid-template-columns:repeat(5,1fr)}
  .p-form .row-3{grid-template-columns:1fr 1fr 1fr}
  .p-main{padding:34px 0 64px}
}

/* avatar and key/value tables */
.p-who{display:flex;align-items:center;gap:14px}
.p-who .sub{display:block;margin-top:2px}
.p-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow);border:3px solid #fff;flex:0 0 56px}
.p-avatar-empty{display:grid;place-items:center;background:linear-gradient(135deg,#FF5FAE,var(--wine));color:#fff;font-family:var(--font-d);font-size:1.4rem}
.p-kv th{width:40%;text-align:left;font-size:.8rem;letter-spacing:0;text-transform:none;color:var(--muted)}

/* league */
.p-league-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.p-league-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-weight:800;font-size:.95rem;color:#fff;background:var(--muted)}
.p-league-badge.sm{padding:4px 10px;font-size:.78rem}
.lig-A{background:linear-gradient(135deg,#FF2E93,var(--wine))}
.lig-B{background:linear-gradient(135deg,#8E5BFF,#5B2BD6)}
.lig-C{background:linear-gradient(135deg,#2BB0E8,#1570B8)}
.lig-D{background:linear-gradient(135deg,#9AA3AF,#6B7280)}
.p-league-share{text-align:right}
.p-league-share .l{display:block;font-size:.74rem;color:var(--muted);font-weight:700}
.p-league-share strong{font-family:var(--font-d);font-size:1.5rem;color:var(--wine);margin-right:8px}
.p-league-share em{font-style:normal;font-family:var(--font-d);font-size:1.5rem;color:var(--ink)}

/* ---- Catfume overrides: bordo, black, white ---- */
.p-header{background:rgba(255,255,255,.92);border-bottom:1px solid var(--line)}
.p-nav a.active,.p-nav a:hover{background:var(--bg-2);color:var(--bordo)}
.p-card{border:1px solid var(--line)}
.p-day.valid{background:var(--bordo);color:#fff}
.p-day.partial{background:#E3A5A9;color:#3D1012}
.p-bar span{background:linear-gradient(90deg,var(--bordo-2),var(--bordo-3))}
.p-avatar-empty{background:linear-gradient(135deg,var(--bordo-2),var(--bordo-3))}
.p-form input:focus,.p-form select:focus,.p-form textarea:focus{border-color:var(--bordo);box-shadow:0 0 0 4px rgba(138,12,20,.12)}
.p-footer{color:#D9CFCF}
.p-month a,.p-month span,.p-user,.p-stat .v,.p-bar-head strong{color:var(--bordo)}
/* daily diamonds table: fits a phone screen, the bar column appears from tablet width */
.p-table-tight{min-width:0;width:100%}
.p-table-tight .p-bar-col{display:none}
@media (min-width:640px){.p-table-tight .p-bar-col{display:table-cell;width:40%}}
