/* Promelit Partner - design system condiviso (light + dark) */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{
 --bg:#f5f8fd;--panel:#ffffff;--panel2:#f3f6fc;--inp:#ffffff;--inp-bd:#cfd8e8;
 --ink:#141b2e;--ink2:#1a2340;--mut:#5b6782;--line:#e4eaf3;
 --red:#e0301a;--red2:#ff5330;--cyan:#0bb6cf;--vio:#7c5cff;--grn:#16a34a;--amber:#f5a623;
 --shadow:0 10px 30px -18px rgba(20,27,46,.25);--shadow-l:0 6px 18px -10px rgba(20,27,46,.2);
 --radius:16px;--accent-soft:rgba(224,48,26,.1);
}
html[data-theme=dark]{
 --bg:#0a0e1a;--panel:#121a2c;--panel2:#0f1628;--inp:#0f1628;--inp-bd:rgba(255,255,255,.14);
 --ink:#eef2fb;--ink2:#ffffff;--mut:#9aa6c0;--line:rgba(255,255,255,.1);
 --shadow:0 12px 34px -16px rgba(0,0,0,.6);--shadow-l:0 6px 18px -10px rgba(0,0,0,.5);--accent-soft:rgba(255,83,48,.14);
}
*{box-sizing:border-box;margin:0}
body{font-family:'Manrope',system-ui,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;transition:background .3s,color .3s}
a{color:inherit;text-decoration:none}
.appbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.appbar .in{max-width:1180px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand .l{height:30px;display:block}.brand .l-dark{display:none}
html[data-theme=dark] .brand .l-light{display:none}html[data-theme=dark] .brand .l-dark{display:block}
.navlink{color:var(--mut);font-weight:600;font-size:.92rem;transition:color .2s}.navlink:hover{color:var(--ink)}
.sp{flex:1}.mut{color:var(--mut)}
.btn{display:inline-flex;align-items:center;gap:7px;border-radius:11px;padding:9px 15px;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);transition:transform .15s,box-shadow .2s,background .2s,border-color .2s}
.btn:hover{box-shadow:var(--shadow-l)}
.btn.primary{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;border:none;box-shadow:0 10px 24px -10px rgba(224,48,26,.55)}
.btn.primary:hover{transform:translateY(-2px)}
.btn.sm{padding:6px 11px;font-size:.82rem;border-radius:9px}
.btn.ok{background:linear-gradient(135deg,#16a34a,#2bd37a);color:#fff;border:none}
.btn.danger{background:var(--accent-soft);color:var(--red);border:1px solid transparent}
.themebtn{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;font-size:1.05rem;display:flex;align-items:center;justify-content:center}
.themebtn:hover{box-shadow:var(--shadow-l)}
.wrap{max-width:1180px;margin:0 auto;padding:28px 24px 60px}
h1{font-size:1.8rem;letter-spacing:-.4px;color:var(--ink2)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:18px}
.card h2{font-size:1.15rem;color:var(--ink2);margin-bottom:4px}.card .sub{color:var(--mut);font-size:.86rem;margin-bottom:16px}
.grid-kpi{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:22px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}
.kpi .n{font-size:1.7rem;font-weight:800;color:var(--ink2)}.kpi .l{color:var(--mut);font-size:.8rem;margin-top:3px}.kpi.warn .n{color:var(--amber)}
input[type=text],input[type=email],input[type=search],input[type=password],input[type=date],input[type=tel],select,textarea{background:var(--inp);color:var(--ink);border:1px solid var(--inp-bd);border-radius:10px;padding:10px 12px;font:inherit;font-size:.92rem;line-height:1.25;height:42px;transition:border-color .15s,box-shadow .15s}
textarea{height:auto}input[type=date]{color-scheme:light}html[data-theme=dark] input[type=date]{color-scheme:dark}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red2);box-shadow:0 0 0 3px var(--accent-soft)}
.search{width:100%;max-width:440px;margin-bottom:14px}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th,td{text-align:left;padding:10px 9px;border-bottom:1px solid var(--line);vertical-align:middle}
th{color:var(--mut);font-size:.73rem;text-transform:uppercase;letter-spacing:.5px;font-weight:700}
tr:hover td{background:var(--panel2)}
.tag{display:inline-block;background:var(--accent-soft);color:var(--red);border-radius:20px;padding:2px 9px;font-size:.74rem}
.chip{display:inline-block;background:var(--panel2);border:1px solid var(--line);border-radius:20px;padding:4px 11px;font-size:.82rem;margin:3px}.chip b{color:var(--red)}.chip .x{color:var(--red);cursor:pointer;margin-left:6px;font-weight:700}
.st{font-size:.73rem;padding:2px 9px;border-radius:20px;font-weight:700}
.st.approved,.st.published{background:rgba(22,163,74,.14);color:var(--grn)}
.st.pending{background:rgba(245,166,35,.16);color:#b26a00}
.st.rejected,.st.draft{background:var(--accent-soft);color:var(--red)}
.empty{color:var(--mut);padding:24px;text-align:center}
.ovl{position:fixed;inset:0;background:rgba(20,27,46,.5);backdrop-filter:blur(4px);display:none;align-items:flex-start;justify-content:center;z-index:40;padding:28px 14px;overflow:auto}
.modal{background:var(--panel);border:1px solid var(--line);border-radius:18px;max-width:820px;width:100%;padding:24px;box-shadow:0 30px 70px -20px rgba(0,0,0,.4)}
.modal h3{color:var(--ink2);margin-bottom:14px}
.x{background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--mut);line-height:1}
.msg{display:none;padding:8px 12px;border-radius:9px;font-size:.86rem;margin-left:8px}
.msg.ok{display:inline-block;background:rgba(22,163,74,.14);color:var(--grn)}.msg.err{display:inline-block;background:var(--accent-soft);color:var(--red)}
.tabs{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.tab{padding:14px 16px;color:var(--mut);cursor:pointer;font-weight:700;font-size:.92rem;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tab.on{color:var(--ink2);border-bottom-color:var(--red2)}
.badge{background:var(--accent-soft);color:var(--red);font-size:.68rem;font-weight:800;padding:3px 9px;border-radius:20px}
