:root{
  --cw-black:#111111;
  --cw-black-2:#191919;
  --cw-text:#2a2a2a;
  --cw-muted:#747474;
  --cw-yellow:#ffd84d;
  --cw-yellow-strong:#ffcf00;
  --cw-yellow-soft:#fff5bf;
  --cw-white:#ffffff;
  --cw-light:#f7f7f7;
  --cw-border:#ececec;
  --cw-green:#18994f;
  --cw-red:#d54242;
  --cw-blue:#111111;
  --cw-radius:26px;
  --cw-radius-sm:16px;
  --cw-shadow:0 14px 40px rgba(0,0,0,.06);
  --cw-shadow-hover:0 18px 50px rgba(0,0,0,.10);
}
*{box-sizing:border-box}
html{font-size:16px;background:var(--cw-light)}
body{margin:0;font-family:"Poppins",Arial,sans-serif;background:var(--cw-light);color:var(--cw-text);line-height:1.55}
a{color:inherit}

/* TOP BAR */
.cw-topbar{position:sticky;top:0;z-index:50;min-height:86px;padding:0 30px;background:var(--cw-black);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;border-bottom:1px solid rgba(255,255,255,.08)}
.cw-brand{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:260px}
.cw-logo-wrap{width:66px;height:58px;background:#fff;border-radius:13px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.cw-logo-wrap img{width:62px;height:auto;display:block}
.cw-brand-copy{display:flex;flex-direction:column;line-height:1.15}
.cw-brand-copy strong{color:#fff;font-size:15px;font-weight:800;letter-spacing:-.02em}
.cw-brand-copy small{color:var(--cw-yellow);font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-top:5px;font-weight:600}
.cw-nav{display:flex;align-items:center;justify-content:center;gap:5px}
.cw-nav a{color:#d8d8d8;text-decoration:none;padding:10px 12px;border-radius:12px;font-size:12px;font-weight:600;transition:.18s ease;white-space:nowrap}
.cw-nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.cw-nav a.active{background:var(--cw-yellow);color:var(--cw-black)}
.nav-ico{display:inline-flex;width:20px;justify-content:center;margin-right:5px;font-weight:800}
.cw-logout{display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.14);padding:9px 13px;border-radius:12px;font-size:11px;font-weight:600}
.cw-logout span{color:var(--cw-yellow);font-size:17px;line-height:1}
.cw-page-accent{height:5px;background:var(--cw-black)}

/* LAYOUT */
.cw-main,main{max-width:1320px;margin:0 auto;padding:45px 28px 80px}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin:0 0 24px}
h1,.page-head h1{font-size:38px;line-height:1.12;letter-spacing:-.045em;margin:2px 0 5px;color:var(--cw-black);font-weight:800}
h2,h3{color:var(--cw-black)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;color:#5c521a}
.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cw-yellow-strong)}
.muted{color:var(--cw-muted)}.small{font-size:12px}

/* CARDS / STATS */
.card{position:relative;background:var(--cw-white);border:1px solid var(--cw-border);border-radius:var(--cw-radius);padding:25px;box-shadow:var(--cw-shadow);margin-bottom:20px;overflow:hidden}
.card:before{content:"";position:absolute;left:0;top:0;width:72px;height:5px;background:var(--cw-yellow)}
.card h2{font-size:18px;letter-spacing:-.02em;margin:0 0 16px;font-weight:750}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h2{margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.grid>.card{min-height:132px;display:flex;flex-direction:column;justify-content:center;transition:.18s ease}
.grid>.card:hover{transform:translateY(-2px);box-shadow:var(--cw-shadow-hover)}
.grid>.card:nth-child(2n):before{width:38px}.grid>.card:nth-child(3n):before{width:105px}
.stat{font-size:39px;line-height:1;font-weight:800;letter-spacing:-.055em;margin-top:8px;color:var(--cw-black)}

/* TABLES */
.table-wrap{overflow:auto;border:1px solid var(--cw-border);border-radius:18px;background:#fff}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:14px 15px;border-bottom:1px solid var(--cw-border);text-align:left;font-size:12px;vertical-align:middle}
th{background:#f5f5f5;color:#5f5f5f;font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
tr:last-child td{border-bottom:0}tbody tr{transition:.15s ease}tbody tr:hover{background:#fffaf0}

/* FORMS */
input,select,button,textarea{font:inherit}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid #dedede;border-radius:12px;background:#fff;color:var(--cw-text);outline:none;transition:.16s ease}
input:focus,select:focus,textarea:focus{border-color:var(--cw-yellow-strong);box-shadow:0 0 0 4px rgba(255,216,77,.24)}
label{display:block;font-size:12px;font-weight:600;color:#484848}label input,label select{margin-top:7px}
button,.btn{background:var(--cw-black);color:#fff;border:0;padding:12px 17px;border-radius:12px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:650;font-size:12px;transition:.17s ease}
button:hover,.btn:hover{background:#000;transform:translateY(-1px)}
.btn:after,button:after{content:"→";color:var(--cw-yellow);font-size:16px;line-height:1}
.btn.alt{background:var(--cw-yellow);color:var(--cw-black);border:0}.btn.alt:after{color:var(--cw-black)}
.btn-sm{padding:8px 11px;font-size:11px}.icon-btn{width:44px;flex:0 0 44px;font-size:18px}
.link-muted{color:var(--cw-muted);font-size:12px;text-decoration:none}.link-muted:hover{color:var(--cw-black)}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:17px}
.check-row{display:flex;gap:18px;margin:4px 0 18px}.check-row label{display:flex;align-items:center;gap:8px;font-weight:600}.check-row input{width:auto;margin:0;accent-color:var(--cw-yellow-strong)}
.input-action{display:flex;gap:7px;margin-top:7px}.input-action input{margin-top:0}
.search-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.search-row label{margin:0}

/* MESSAGES / BADGES */
.notice{padding:14px 16px;border-radius:14px;background:var(--cw-yellow-soft);margin-bottom:16px;border:1px solid #f1df7c;color:#413a13}
.error{background:#fff0f0;border-color:#ffd0d0;color:#991b1b}.ok{background:var(--cw-black);border-color:var(--cw-black);color:#fff;box-shadow:inset 5px 0 0 var(--cw-yellow)}
.empty{padding:28px;border:1px dashed #d7d7d7;border-radius:16px;color:var(--cw-muted);text-align:center;background:#fafafa}
.badge,.pill,.devices{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#f0f0f0;color:#555;font-size:10px;font-weight:700}
.devices{background:var(--cw-yellow-soft);color:#5e5214}.actions{white-space:nowrap}.actions a{margin-left:10px;color:#222;text-decoration:none;font-weight:650;border-bottom:2px solid var(--cw-yellow)}.actions a:first-child{margin-left:0}.up{color:var(--cw-green)}.down{color:var(--cw-red)}code{background:#f0f0f0;padding:3px 6px;border-radius:6px}

/* FOOTER */
.cw-footer{max-width:1320px;margin:0 auto 35px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#858585}
.cw-footer span{font-size:11px;letter-spacing:.14em;font-weight:700;color:#222}.cw-footer small{font-size:10px}

/* LOGIN / INSTALL without topbar */
body:not(:has(.cw-topbar)) main{max-width:1000px}

@media(max-width:980px){
  .cw-topbar{grid-template-columns:1fr auto;padding:12px 18px;gap:12px}.cw-brand{min-width:0}.cw-nav{grid-column:1/-1;order:3;justify-content:flex-start;overflow:auto;padding-bottom:2px}.cw-nav a{flex:0 0 auto}.cw-logout{grid-column:2;grid-row:1}.cw-logo-wrap{width:58px;height:52px}.cw-logo-wrap img{width:55px}
}
@media(max-width:700px){
  .cw-main,main{padding:30px 14px 60px}.cw-topbar{padding:10px 12px}.cw-brand-copy strong{font-size:13px}.cw-brand-copy small{font-size:8px}.cw-logout{font-size:0;padding:9px 11px}.cw-logout span{font-size:18px}.cw-nav a{padding:8px 9px;font-size:10px}h1,.page-head h1{font-size:30px}.page-head{align-items:flex-start;flex-direction:column}.search-row{grid-template-columns:1fr}.card{padding:18px;border-radius:20px}.stat{font-size:34px}.cw-footer{padding:0 14px;align-items:flex-start;flex-direction:column;gap:4px}
}

/* v0.5 — spójność marki: zero niebieskich akcentów */
::selection{background:var(--cw-black);color:var(--cw-yellow)}
a:not(.btn):not(.cw-brand):not(.cw-nav a):not(.cw-logout){color:var(--cw-black)}
a:not(.btn):not(.cw-brand):not(.cw-nav a):not(.cw-logout):hover{color:#000}
select, input[type=checkbox], input[type=radio]{accent-color:var(--cw-black)}
select option:checked{background:var(--cw-black);color:#fff}
.project-title-link{font-weight:750;text-decoration:none;border-bottom:2px solid transparent}.project-title-link:hover{border-bottom-color:var(--cw-yellow)}
.inline-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-actions form{margin:0}
.kw-actions{display:flex;gap:6px;flex-wrap:wrap}.kw-actions form{margin:0}.btn-live{padding:7px 10px;border-radius:9px;font-size:10px}.btn-live:after{content:""}
.project-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.project-summary .pill{background:#f2f2f2;color:#222}
