:root{color-scheme:dark;--bg:#0c1119;--surface:#151c27;--surface2:#1c2634;--line:#2a3749;--text:#f2f5f8;--muted:#9cabbc;--accent:#f1782b;--accent2:#ff9959;--green:#48c987;--red:#ff6b70;--blue:#65a8ff;--shadow:0 18px 55px #0006;font:16px Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% -10%,#263b5c 0,transparent 35%),var(--bg);color:var(--text);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.muted{color:var(--muted)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);background:#121925eF;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--accent),#c64b13);font-weight:900;font-size:22px}.brand div{display:grid}.brand small{color:var(--muted);font-size:12px;letter-spacing:.08em}.login-card h1{font-size:28px;margin:32px 0 8px}label{display:grid;gap:7px;font-size:13px;color:#cbd4df;margin:16px 0}input,select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;background:#0d131d;color:var(--text);padding:10px 13px;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f1782b22}button{border:0;border-radius:12px;padding:11px 15px;font-weight:700;color:var(--text)}.primary{background:linear-gradient(135deg,var(--accent),#d95a17)}.secondary{background:var(--surface2);border:1px solid var(--line)}.ghost{background:transparent;color:var(--muted)}.danger{background:#4c2027;color:#ffb7b9}.full{width:100%;margin-top:18px;min-height:48px}.app{max-width:1180px;margin:auto;padding:0 20px 80px}.topbar{height:74px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff12}.compact .brand-mark{width:36px;height:36px;border-radius:11px;font-size:18px}.hero{display:flex;justify-content:space-between;align-items:end;padding:38px 0 22px}.hero h1{margin:4px 0;font-size:clamp(28px,5vw,44px)}.eyebrow{font-size:11px;letter-spacing:.14em;color:var(--accent2);font-weight:800;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:linear-gradient(145deg,var(--surface),#111822);border:1px solid var(--line);border-radius:16px;padding:18px}.stat strong{display:block;font-size:28px}.stat span{color:var(--muted);font-size:12px}.tabs{display:flex;gap:5px;margin:28px 0 16px;padding:5px;background:#0b1018;border:1px solid var(--line);border-radius:14px;width:max-content;max-width:100%;overflow:auto}.tab{background:transparent;color:var(--muted);white-space:nowrap}.tab.active{background:var(--surface2);color:var(--text)}.toolbar{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:14px}.card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.user-card,.action-card,.invite-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px}.user-card{display:grid;gap:15px}.user-head{display:flex;justify-content:space-between;gap:10px}.user-head h3{font-size:16px;margin:0;overflow-wrap:anywhere}.badge{font-size:11px;padding:5px 8px;border-radius:99px;height:max-content;background:#273447;color:#b9c8d9}.badge.active{background:#173c2c;color:#8fe3b5}.badge.revoked{background:#482128;color:#ffadb0}.apps{display:flex;gap:6px;flex-wrap:wrap}.app-chip{font-size:11px;padding:5px 8px;border-radius:7px;background:#202c3c;color:#b9c8d9}.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.meta div{background:#0d141e;border-radius:10px;padding:9px}.meta small{display:block;color:var(--muted);font-size:10px}.meta strong{font-size:13px}.user-card .secondary{width:100%}.action-card{max-width:620px;margin-bottom:14px}.action-card h2{margin-top:0}.invite-card{display:flex;justify-content:space-between;align-items:center;gap:12px}.timeline{display:grid;gap:10px}.event{border-left:3px solid var(--blue);background:var(--surface);padding:13px 15px;border-radius:0 12px 12px 0}.event p{margin:4px 0}.event small{color:var(--muted)}dialog{width:min(620px,calc(100% - 24px));max-height:92vh;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--text);padding:0;box-shadow:var(--shadow)}dialog::backdrop{background:#03060ba8;backdrop-filter:blur(5px)}.dialog-form{padding:22px;overflow:auto;max-height:92vh}.dialog-form header{display:flex;justify-content:space-between;gap:10px}.dialog-form h2{margin:4px 0;overflow-wrap:anywhere}.icon-button{width:42px;height:42px;padding:0;font-size:28px;background:#263143}.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.app-option{display:flex;align-items:center;gap:10px;margin:0;background:#101722;border:1px solid var(--line);border-radius:11px;padding:11px}.app-option input{width:20px;min-height:20px}.dialog-actions{display:grid;gap:8px;margin-top:18px}.device-list{display:grid;gap:7px}.device{background:#0e151f;border-radius:10px;padding:10px}.device small{display:block;color:var(--muted)}fieldset{border:1px solid var(--line);border-radius:14px;margin:18px 0;padding:14px}legend{padding:0 7px}.toast{position:fixed;z-index:20;left:50%;bottom:22px;transform:translate(-50%,140%);background:#f4f7fb;color:#182130;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow);transition:.25s;max-width:calc(100% - 30px)}.toast.show{transform:translate(-50%,0)}.toast.error{background:#ffced0;color:#5b1014}.empty{text-align:center;color:var(--muted);padding:50px 10px}
@media(max-width:720px){.app{padding:0 12px 90px}.topbar{height:64px}.hero{padding:26px 4px 18px}.hero .secondary{padding:9px}.stats{grid-template-columns:1fr 1fr}.stat{padding:14px}.stat strong{font-size:24px}.tabs{width:100%}.tab{flex:1}.toolbar{grid-template-columns:1fr}.card-list{grid-template-columns:1fr}.meta{grid-template-columns:1fr 1fr 1fr}.app-grid{grid-template-columns:1fr}.dialog-form{padding:16px}.login-card{padding:24px;border-radius:20px}}
@media(max-width:390px){.brand.compact small{display:none}.hero h1{font-size:27px}.meta{grid-template-columns:1fr 1fr}.meta div:last-child{grid-column:1/-1}}
[hidden]{display:none!important}

/* Dialog licencji ma jeden kontrolowany obszar przewijania. */
dialog{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:hidden}
.dialog-form{max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.event.event-danger{border-left-color:var(--red);background:linear-gradient(90deg,#3a1b22,var(--surface) 45%)}

.device-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}
.device-remove{flex:0 0 auto;padding:7px 10px;border:1px solid #7f343b;background:#3d1d23;color:#ffb7b9;font-size:12px}
.device-remove:hover{background:#56242c}
@media(max-width:520px){.device-head{align-items:flex-start;flex-direction:column}.device-remove{width:100%}}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.account-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}.account-card h2{margin:0 0 8px}.account-devices{margin-top:14px}.account-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.account-details div{background:#0d141e;border-radius:10px;padding:12px}.account-details small,.account-details strong{display:block}.account-details small{color:var(--muted);font-size:11px}.account-details strong{margin-top:4px;font-size:13px}.account-device-remove{align-self:flex-start}.section-head{display:flex;justify-content:space-between;gap:16px}.section-head p{margin-bottom:18px}
.text-button{background:transparent;color:var(--accent2);margin-top:8px}.text-button:hover{text-decoration:underline}.recovery-note{margin:20px 0 6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0d141e;color:var(--muted);font-size:13px}.recovery-note code{color:var(--text)}
.confirm-dialog{width:min(460px,calc(100% - 24px))}.confirm-card{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:24px}.confirm-card h2{margin:5px 0 8px}.confirm-card p:last-child{margin:0;line-height:1.5}.confirm-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#4c2027;color:#ffb7b9;font-size:24px;font-weight:900}.confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:8px}.confirm-actions button{min-width:120px}
.danger-outline{background:transparent;border:1px solid #7f343b;color:#ff9ea3}.danger-outline:hover{background:#3d1d23}
.activity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.activity-actions{display:flex;gap:8px;flex-wrap:wrap}.select-all{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px;margin:0;white-space:nowrap}.select-all input,.event-check input{width:19px;min-height:19px;margin:0}.event-selectable{padding:0}.event-check{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin:0;padding:13px 15px;cursor:pointer}.event-check span,.event-check strong,.event-check small{display:block}.event-check strong{margin:4px 0}.activity-toolbar button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:720px){.activity-toolbar{align-items:stretch;flex-direction:column}.activity-actions{display:grid;grid-template-columns:1fr}.activity-actions button{width:100%}}
@media(max-width:420px){.confirm-card{grid-template-columns:1fr;padding:20px}.confirm-actions{display:grid}.confirm-actions button{width:100%}}
@media(max-width:720px){.account-grid{grid-template-columns:1fr}.account-stats{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.account-details{grid-template-columns:1fr}}
