:root{--bg:#0f172a;--panel:#111827;--card:#172033;--card2:#1f2937;--text:#e5e7eb;--muted:#9ca3af;--line:#334155;--accent:#d9a928;--accent2:#f2c94c;--danger:#ef4444;--ok:#22c55e;--warn:#f59e0b;--info:#38bdf8}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#0b1020,#121a2b);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.wrap{max-width:980px;margin:30px auto;padding:0 16px}.card{background:rgba(23,32,51,.96);border:1px solid var(--line);border-radius:18px;padding:22px;margin:16px 0;box-shadow:0 14px 40px rgba(0,0,0,.25)}.card h1,.card h2,.card h3{margin-top:0}.btn,button{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#111827;border:0;border-radius:12px;padding:10px 14px;font-weight:700;text-decoration:none;cursor:pointer}.btn.secondary,button.secondary{background:#374151;color:var(--text)}.btn.danger,button.danger{background:var(--danger);color:white}.btn[disabled],button[disabled]{opacity:.45;cursor:not-allowed}input,select,textarea{width:100%;padding:11px 12px;border-radius:12px;border:1px solid #475569;background:#0f172a;color:var(--text)}label{display:block;font-weight:700;margin:12px 0 6px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.status{padding:9px 12px;border-radius:12px;margin:7px 0;border:1px solid var(--line)}.status.ok{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.08)}.status.error{border-color:rgba(239,68,68,.55);background:rgba(239,68,68,.1)}.status.warn{border-color:rgba(245,158,11,.55);background:rgba(245,158,11,.09)}.status.info{border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.08)}pre{white-space:pre-wrap;background:#0b1220;border:1px solid var(--line);border-radius:12px;padding:12px;overflow:auto}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#0b1220;border-right:1px solid var(--line);padding:18px;position:sticky;top:0;height:100vh}.brand{font-size:22px;font-weight:900;color:var(--accent2);margin-bottom:22px}.sidebar a{display:block;color:var(--text);text-decoration:none;padding:11px 12px;border-radius:12px;margin:5px 0}.sidebar a:hover{background:#1f2937}.main{padding:22px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.topbar h1{margin:0}.userbox{color:var(--muted);font-size:14px}.userbox a{color:var(--accent2);margin-left:10px}.flash{padding:12px 14px;border-radius:12px;margin:10px 0}.flash.ok{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.4)}.flash.error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4)}.flash.warn{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.4)}table{width:100%;border-collapse:collapse;background:rgba(17,24,39,.55);border-radius:14px;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px;vertical-align:top}th{color:#fde68a;background:#111827}.pill{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}.pill.ok{background:rgba(34,197,94,.18);color:#86efac}.pill.error{background:rgba(239,68,68,.18);color:#fecaca}.pill.warn{background:rgba(245,158,11,.18);color:#fde68a}.actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.kbd{font-family:monospace;background:#0b1220;border:1px solid var(--line);padding:2px 6px;border-radius:6px}.error-card{border-color:rgba(239,68,68,.45)}@media(max-width:800px){.app-shell{display:block}.sidebar{position:static;height:auto}.topbar{display:block}.main{padding:14px}}
.sidebar-sub{font-size:11px;color:#94a3b8;margin-top:-18px;margin-bottom:18px;letter-spacing:.08em}.sidebar a.active{background:rgba(217,169,40,.16);border:1px solid rgba(217,169,40,.35);color:#fde68a}.hero{border-color:rgba(217,169,40,.35);background:linear-gradient(135deg,rgba(217,169,40,.12),rgba(23,32,51,.96))}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.metric-number{font-size:42px;font-weight:900;color:#fde68a;line-height:1}.inline-actions{display:flex;gap:7px;flex-wrap:wrap}.inline-actions button{padding:7px 10px;border-radius:10px;font-size:12px}.inline-actions .danger{background:var(--danger);color:#fff}.inline-actions .secondary{background:#374151;color:#e5e7eb}.table-scroll{overflow:auto}.card.warning-card{border-color:rgba(245,158,11,.5)}.card.success-card{border-color:rgba(34,197,94,.5)}
.brand-block{display:flex;align-items:center;gap:12px;margin-bottom:18px}.brand-logo{width:46px;height:46px;object-fit:contain;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(242,201,76,.28);padding:5px}.brand-block .brand{margin:0;font-size:20px;line-height:1.1}.brand-block .sidebar-sub{margin:3px 0 0}.topbar-sub{color:var(--muted);font-size:13px;margin-top:4px}.login-body{background:radial-gradient(circle at top left,rgba(242,201,76,.15),transparent 35%),linear-gradient(135deg,#0b1020,#121a2b)}.login-card{max-width:560px;margin:70px auto}.login-brand{display:flex;align-items:center;gap:16px;margin-bottom:22px}.login-brand img{width:76px;height:76px;object-fit:contain;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(242,201,76,.32);padding:8px}.login-title{font-size:30px;font-weight:900;color:var(--accent2);line-height:1.05}.small{font-size:13px}.branding-preview{display:flex;gap:16px;align-items:center}.branding-preview img{width:86px;height:86px;object-fit:contain;border-radius:20px;background:#0b1220;border:1px solid var(--line);padding:8px}.favicon-preview{width:28px;height:28px;vertical-align:middle;margin-left:8px;border-radius:7px;background:#0b1220;border:1px solid var(--line);padding:3px}.color-dot{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.28);vertical-align:middle;margin:0 4px 0 10px}.actions form{display:inline-flex;margin:0}
.install-body{background:radial-gradient(circle at top left,rgba(242,201,76,.16),transparent 34%),linear-gradient(135deg,#07111f,#111827 55%,#0b1020);min-height:100vh}.install-wrap{max-width:1180px;margin:0 auto;padding:28px 16px 56px}.install-hero{display:flex;gap:22px;align-items:center;background:linear-gradient(135deg,rgba(217,169,40,.18),rgba(23,32,51,.96));border:1px solid rgba(242,201,76,.32);border-radius:26px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.28);margin-bottom:18px}.install-hero img{width:90px;height:90px;object-fit:contain;border-radius:24px;background:rgba(255,255,255,.05);border:1px solid rgba(242,201,76,.34);padding:10px}.install-hero h1{font-size:36px;line-height:1.05;margin:7px 0;color:#fde68a}.install-hero p{max-width:840px;color:#d1d5db}.install-badge{display:inline-block;background:rgba(242,201,76,.16);border:1px solid rgba(242,201,76,.36);color:#fde68a;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.install-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0}.install-steps div{background:rgba(15,23,42,.78);border:1px solid #334155;border-radius:16px;padding:12px;color:#e5e7eb;font-weight:800}.install-steps span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#111827;margin-right:8px}.error-card{border-color:rgba(239,68,68,.55)}@media(max-width:720px){.install-hero{display:block}.install-hero img{margin-bottom:14px}.install-hero h1{font-size:29px}}

/* CLEAN INSTALLER STABILIZACJA */
.nav-disabled{display:block;color:#94a3b8;padding:11px 12px;border-radius:12px;margin:5px 0;border:1px dashed rgba(148,163,184,.25);opacity:.88}.install-hero{overflow:hidden}.install-logo,.install-hero img.install-logo{width:88px!important;height:88px!important;max-width:88px!important;max-height:88px!important;min-width:88px!important;min-height:88px!important;object-fit:contain!important;flex:0 0 88px!important}.login-logo,.login-brand img.login-logo{width:76px!important;height:76px!important;max-width:76px!important;max-height:76px!important;object-fit:contain!important}.brand-logo{max-width:46px!important;max-height:46px!important}.status.info{border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.08)}@media(max-width:720px){.install-logo,.install-hero img.install-logo{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important;min-width:64px!important;min-height:64px!important}.install-hero{padding:20px}.install-hero h1{font-size:26px}}

/* CLEAN INSTALLER STABILIZACJA FIX — uprawnienia */
.pill.manual,.pill.ssh{background:rgba(245,158,11,.18);color:#fde68a}.status.manual{border-color:rgba(245,158,11,.55);background:rgba(245,158,11,.09)}

/* CLEAN UI FIX — sidebar/menu ma własny pionowy scroll */
html,body{min-height:100%;}
.app-shell{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  align-items:stretch;
}
.sidebar{
  flex:0 0 250px;
  width:250px;
  height:100vh;
  height:100dvh;
  max-height:100vh;
  max-height:100dvh;
  position:sticky;
  top:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(242,201,76,.55) rgba(15,23,42,.35);
}
.sidebar::-webkit-scrollbar{width:9px;}
.sidebar::-webkit-scrollbar-track{background:rgba(15,23,42,.35);border-radius:999px;}
.sidebar::-webkit-scrollbar-thumb{background:rgba(242,201,76,.55);border-radius:999px;border:2px solid rgba(15,23,42,.85);}
.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(242,201,76,.85);}
.sidebar nav{padding-bottom:72px;}
.main{
  flex:1 1 auto;
  min-width:0;
  min-height:100vh;
  min-height:100dvh;
}
@media(max-width:800px){
  .app-shell{display:block;min-height:100vh;}
  .sidebar{position:relative;width:100%;height:auto;max-height:none;overflow:visible;}
  .sidebar nav{padding-bottom:10px;}
}

/* eSystemOSP branding 2026-06-25: full logo where there is space, icon where space is limited. */
.install-logo-wide,.install-hero img.install-logo-wide{width:280px!important;height:auto!important;max-width:280px!important;max-height:110px!important;min-width:0!important;min-height:0!important;flex:0 0 280px!important;padding:0!important;border:none!important;background:transparent!important;border-radius:0!important}.login-logo-wide,.login-brand img.login-logo-wide{width:240px!important;height:auto!important;max-width:240px!important;max-height:96px!important;padding:0!important;border:none!important;background:transparent!important;border-radius:0!important}.brand-logo-icon{max-width:46px!important;max-height:46px!important}@media(max-width:720px){.install-logo-wide,.install-hero img.install-logo-wide{width:210px!important;max-width:210px!important;max-height:84px!important;flex:0 0 210px!important}.login-logo-wide,.login-brand img.login-logo-wide{width:180px!important;max-width:180px!important;max-height:72px!important}}

/* eSystemOSP branding 2026-06-25 — zaakceptowany kierunek: logo na zaokrąglonej, lekko 3D plakietce. */
.install-logo-plaque{
  display:flex;align-items:center;justify-content:center;
  flex:0 0 360px;max-width:42%;min-height:132px;
  padding:20px 26px;border-radius:30px;
  background:linear-gradient(145deg,rgba(15,23,42,.98),rgba(2,8,23,.96) 62%,rgba(20,30,48,.98));
  border:1px solid rgba(242,201,76,.52);
  box-shadow:0 22px 44px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(217,169,40,.20);
  position:relative;overflow:hidden;
}
.install-logo-plaque:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,rgba(255,255,255,.11),transparent 38%,rgba(217,169,40,.08));pointer-events:none}.install-logo-plaque:after{content:"";position:absolute;left:18px;right:18px;bottom:7px;height:1px;background:linear-gradient(90deg,transparent,rgba(242,201,76,.72),transparent);pointer-events:none}.install-logo-plaque .install-logo-wide{position:relative;z-index:1;width:300px!important;max-width:100%!important;max-height:96px!important;border-radius:22px!important;box-shadow:0 10px 22px rgba(0,0,0,.25)!important}.color-picker-row{display:flex;align-items:center;gap:10px}.color-picker-row input[type="color"]{width:54px!important;min-width:54px;height:42px;padding:3px;border-radius:12px;border:1px solid rgba(242,201,76,.34);background:#0f172a;cursor:pointer}.color-picker-row input[type="text"],.color-picker-row input[data-color-hex]{flex:1;min-width:120px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-transform:uppercase}.brand-color-presets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.brand-color-presets button{border:1px solid rgba(242,201,76,.34);background:rgba(15,23,42,.82);color:#e5e7eb;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}.brand-color-presets button:hover{border-color:rgba(242,201,76,.72);background:rgba(217,169,40,.16)}.brand-live-preview{--preview-main:#D9A928;--preview-light:#F2C94C;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 4px;padding:14px;border-radius:18px;border:1px solid color-mix(in srgb,var(--preview-light),transparent 50%);background:linear-gradient(135deg,color-mix(in srgb,var(--preview-main),transparent 85%),rgba(15,23,42,.72))}.preview-btn{background:var(--preview-main);color:#111827;border-radius:12px;padding:9px 13px;font-weight:900;box-shadow:0 10px 24px color-mix(in srgb,var(--preview-main),transparent 72%)}.preview-badge{border:1px solid var(--preview-light);color:var(--preview-light);border-radius:999px;padding:7px 11px;font-weight:900}.preview-line{color:#cbd5e1;font-size:13px}@media(max-width:720px){.install-logo-plaque{max-width:100%;flex:1 1 auto;min-height:110px;padding:16px 18px}.install-logo-plaque .install-logo-wide{width:230px!important}.color-picker-row{align-items:stretch}.brand-color-presets{display:grid;grid-template-columns:1fr 1fr}}

/* eSystemOSP authentic logo integration 2026-06-25: logo asset is transparent, plaque is real CSS, no nested dark bitmap rectangle. */
.install-logo-plaque{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 430px!important;max-width:44%!important;min-height:150px!important;padding:22px 32px!important;border-radius:34px!important;background:linear-gradient(145deg,rgba(17,24,39,.98),rgba(3,10,24,.98) 58%,rgba(26,37,58,.96))!important;border:1px solid rgba(242,201,76,.58)!important;box-shadow:0 24px 46px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.13),inset 0 -1px 0 rgba(217,169,40,.22)!important;position:relative!important;overflow:hidden!important}.install-logo-plaque:before{content:""!important;position:absolute!important;inset:0!important;border-radius:inherit!important;background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 36%,rgba(217,169,40,.09))!important;pointer-events:none!important}.install-logo-plaque:after{content:""!important;position:absolute!important;left:22px!important;right:22px!important;bottom:8px!important;height:1px!important;background:linear-gradient(90deg,transparent,rgba(242,201,76,.78),transparent)!important;pointer-events:none!important}.install-logo-plaque .install-logo-wide,.install-hero img.install-logo-wide{position:relative!important;z-index:1!important;width:360px!important;max-width:100%!important;max-height:100px!important;height:auto!important;object-fit:contain!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}.login-logo-wide,.login-brand img.login-logo-wide,.panelosp-login-brand img{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;max-width:270px!important;max-height:82px!important;width:auto!important;height:auto!important;object-fit:contain!important}.panelosp-system-brand img{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}@media(max-width:720px){.install-logo-plaque{max-width:100%!important;flex:1 1 auto!important;min-height:126px!important;padding:18px 22px!important}.install-logo-plaque .install-logo-wide,.install-hero img.install-logo-wide{width:285px!important;max-height:82px!important}.login-logo-wide,.login-brand img.login-logo-wide,.panelosp-login-brand img{max-width:210px!important;max-height:68px!important}}

/* panelOSP CORE USERS MAIL BACKUP — czytelne ciemne selecty, bez żółtych natywnych list. */
.panelosp-select{position:relative;width:100%;min-width:180px}.panelosp-select__native{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.panelosp-select__button{width:100%;justify-content:space-between;background:#0f172a!important;color:#e5e7eb!important;border:1px solid #475569!important;border-radius:12px!important;padding:11px 12px!important;font-weight:700!important;box-shadow:none!important}.panelosp-select__button:hover{border-color:rgba(242,201,76,.58)!important;background:#111c31!important}.panelosp-select__arrow{color:#f2c94c;margin-left:10px}.panelosp-select__menu{display:none;position:absolute;z-index:5000;left:0;right:0;top:calc(100% + 6px);max-height:280px;overflow:auto;padding:6px;background:#0b1220;border:1px solid rgba(242,201,76,.36);border-radius:14px;box-shadow:0 20px 48px rgba(0,0,0,.48)}.panelosp-select.is-open .panelosp-select__menu{display:block}.panelosp-select__option{display:block;width:100%;text-align:left;background:transparent!important;color:#e5e7eb!important;border:0!important;border-radius:10px!important;padding:9px 10px!important;font-weight:700!important}.panelosp-select__option:hover,.panelosp-select__option.is-selected{background:rgba(217,169,40,.18)!important;color:#fde68a!important}.panelosp-select__option[disabled]{opacity:.45;cursor:not-allowed}.backup-table-list{max-height:260px;overflow:auto;border:1px solid rgba(71,85,105,.8);border-radius:14px;padding:10px;background:rgba(15,23,42,.54)}.backup-table-list label{display:block;margin:6px 0;font-weight:600}.login-card .actions{margin-top:14px}
