/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
:root{--bg:#0f172a;--panel:#111d32;--panel2:#152339;--line:#28374e;--text:#e5e7eb;--muted:#9bacbf;--accent:#38bdf8;--green:#4ade80;--purple:#a78bfa;--red:#f87171;--radius:16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:16px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0,#13334865,transparent 55%),var(--bg);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{border:1px solid transparent;border-radius:9px;background:var(--accent);color:#062236;padding:10px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:.9rem;text-decoration:none;min-height:42px}button:hover,.button:hover{filter:brightness(1.1);text-decoration:none}button:disabled{opacity:.5;cursor:wait}button.secondary,.button.secondary{background:#182840;color:var(--text);border-color:var(--line)}button.danger{background:#44232f;color:#fecaca;border-color:#824351}button.tiny,.button.tiny{padding:6px 11px;min-height:34px;font-size:.875rem}button.ghost{background:transparent;color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,select,textarea{width:100%;border:1px solid #35455c;border-radius:9px;padding:11px 13px;background:#0c1728;color:var(--text);min-width:0}textarea{resize:vertical;min-height:100px}label{display:grid;gap:8px;font-size:.9rem;color:#cbd5e1}label.check{display:flex;align-items:center;gap:10px}label.check input{width:auto}h1,h2,h3,p{margin-top:0}h1{font-size:1.85rem;letter-spacing:-.04em;margin-bottom:8px}h2{font-size:1.15rem;letter-spacing:-.015em}h3{font-size:1rem}p{line-height:1.65}small,.small{font-size:.875rem}.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:30px 18px;background:#0b1425;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#f8fafc;font-weight:700;font-size:1.4rem;padding:0 10px 40px}.brand small{display:block;font-size:.8rem;font-weight:400;color:var(--muted);margin-top:3px}.brand-icon{width:42px;height:42px;background:linear-gradient(145deg,#38bdf8,#2d6cc8);color:#06213d;border-radius:12px;display:grid;place-items:center;font-size:2rem;font-weight:800}.nav-label{font-size:.75rem;letter-spacing:.11em;color:#71839c;padding:0 12px;margin-bottom:14px}nav{display:grid;gap:6px}nav a{display:flex;gap:12px;color:#a8b7ca;padding:13px 12px;border-radius:10px;font-size:.9rem}nav a.active{color:#7dd3fc;background:#38bdf818;border:1px solid #38bdf82b}nav a:hover{background:#182940;text-decoration:none}nav .nav-icon{width:20px;text-align:center}.sidebar-bottom{margin-top:auto;display:grid;gap:14px;padding:24px 12px 0;color:#6f829e}.workspace{min-width:0}.topbar{min-height:80px;display:flex;justify-content:space-between;align-items:center;padding:18px 36px;border-bottom:1px solid var(--line);font-size:.9rem;background:#0f172a90;gap:16px}#breadcrumb{color:var(--muted)}#account{display:flex;align-items:center;gap:12px}main{padding:34px 36px;max-width:1600px;margin:0 auto;min-height:calc(100vh - 138px)}footer{padding:18px 36px;color:#7688a1;font-size:.8rem;display:flex;gap:10px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading p{color:var(--muted);margin:0;font-size:.95rem}.actions,.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 26px}.stat{background:linear-gradient(120deg,#16263b,#101d30);border:1px solid var(--line);border-radius:var(--radius);padding:21px}.stat .value{font-size:1.85rem;letter-spacing:-.04em;font-weight:650;margin:9px 0 4px}.stat .label{font-size:.875rem;color:var(--muted)}.stat .hint{font-size:.8rem;color:#7591ac}.panel{border:1px solid var(--line);background:#111d32d9;border-radius:var(--radius);padding:24px;margin-bottom:20px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.panel-header h2{margin:0}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:22px}.search{flex:1}.toolbar select{width:auto;max-width:210px}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:linear-gradient(135deg,#17283d,#111c2e);transition:border-color .2s,transform .2s}.project-card:hover{border-color:#38bdf877;transform:translateY(-2px)}.project-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.project-title h2{margin:0 0 7px;font-size:1.15rem}.project-title h2 a{color:#e5edf8}.project-card p{color:var(--muted);font-size:.9rem;margin:18px 0;min-height:44px;overflow-wrap:anywhere}.card-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font-size:.85rem;color:var(--muted);gap:12px}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid #354760;border-radius:7px;background:#15273f;color:#adbed2;font-size:.75rem;line-height:1.5;white-space:nowrap;width:fit-content}.tag.blue{color:#7dd3fc;background:#38bdf814;border-color:#38bdf84a}.tag.green{color:#86efac;background:#22c55e12;border-color:#22c55e44}.tag.purple{color:#c4b5fd;background:#a78bfa12;border-color:#a78bfa44}.tag.orange{color:#fcd34d;background:#f59e0b12;border-color:#f59e0b44}.tag.red{color:#fca5a5;border-color:#f8717144}.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:20px}.chart-box{position:relative;height:240px}.tabs{display:flex;gap:6px;margin:20px 0 26px;border-bottom:1px solid var(--line);overflow-x:auto}.tabs button{border-radius:8px 8px 0 0;color:var(--muted);background:transparent;white-space:nowrap;border-bottom:2px solid transparent}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent);background:#38bdf80b}.release{border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:14px;background:#0e1a2d}.release-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.release h3{margin-bottom:8px}.release .meta{font-size:.85rem;color:var(--muted);line-height:1.7}.command{display:flex;align-items:flex-start;gap:8px;background:#080f1c;border:1px solid #293951;border-radius:9px;padding:10px 12px;margin:10px 0 0;max-width:100%}.command code{flex:1;font-size:.8rem;color:#b8d9ef;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.7;min-width:0}.command button{flex-shrink:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.form-stack{display:grid;gap:18px}.dropzone{display:grid;place-items:center;text-align:center;border:2px dashed #395370;border-radius:14px;padding:38px 24px;background:#0b182a;position:relative;cursor:pointer;transition:.2s;margin-bottom:20px}.dropzone.over{border-color:var(--accent);background:#38bdf814}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-icon{font-size:2rem;color:var(--accent);margin-bottom:14px}.dropzone strong{margin-bottom:10px}.dropzone p{font-size:.85rem;color:var(--muted);margin-bottom:0}.empty{padding:56px 24px;text-align:center;border:1px dashed #314760;border-radius:var(--radius);color:var(--muted)}.empty h2{color:var(--text)}.empty p{max-width:540px;margin:12px auto 24px}.notice{padding:15px 18px;border:1px solid #4e698d;border-radius:10px;background:#1c3048;color:#bfd6ee;font-size:.9rem;margin-bottom:20px;line-height:1.65}.notice.warning{border-color:#876324;background:#342b1c;color:#fde68a}.error{color:#fca5a5}.login-wrap{max-width:440px;margin:5vh auto}.login-wrap h1{font-size:1.5rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;color:var(--muted);font-weight:500;background:#102035}th,td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}td{overflow-wrap:anywhere}tbody tr:hover{background:#38bdf806}pre{margin:12px 0;padding:18px;background:#091321;border:1px solid var(--line);border-radius:10px;overflow:auto;font-size:.85rem;line-height:1.65}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.markdown{line-height:1.8;overflow-wrap:anywhere}.markdown h1{font-size:1.5rem}.markdown h2{font-size:1.2rem;margin-top:25px}.markdown ul,.markdown ol{padding-left:24px}.markdown blockquote{border-left:3px solid var(--accent);padding-left:16px;color:var(--muted)}.markdown code{color:#b5d9f3;background:#08172a;padding:2px 5px;border-radius:4px}.markdown pre code{background:transparent;padding:0}.source-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px}.file-list{max-height:600px;overflow:auto;display:grid;align-content:start;gap:4px}.file-list button{text-align:left;justify-content:start;background:#0d1a2b;color:#b4c5d9;font-family:monospace;font-size:.8rem;font-weight:400;overflow-wrap:anywhere}.file-list button:hover{color:var(--accent)}.source-content{max-height:660px;margin:0}.language-table{margin-top:15px}.language-table td,.language-table th{padding:9px 8px;font-size:.8rem}.color-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;background:var(--accent)}dialog{background:#111e31;color:var(--text);border:1px solid #3a526e;border-radius:18px;padding:26px;width:min(800px,94vw);max-height:90vh}dialog::backdrop{background:#020712bb;backdrop-filter:blur(4px)}.modal-close{margin-top:20px}#toast{position:fixed;bottom:24px;right:24px;max-width:min(440px,calc(100vw - 48px));padding:15px 21px;background:#163649;border:1px solid #38bdf87a;border-radius:12px;box-shadow:0 12px 50px #0008;z-index:10;display:none}#toast.show{display:block}#toast.error{background:#41212c;border-color:#f8717177}progress{width:100%;height:10px;accent-color:var(--accent)}.mt{margin-top:20px}.nowrap{white-space:nowrap}.break{overflow-wrap:anywhere}.readme-edit{min-height:260px;font-family:monospace;font-size:.875rem}.release-notes{white-space:pre-wrap;margin-top:16px;font-size:.9rem;color:var(--muted)}.hide{display:none!important}.server-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.server-title h2{margin-bottom:5px}.progress-text{margin:12px 0;color:var(--accent)}.file-count{color:var(--muted);font-size:.85rem}.source-picker{margin-bottom:16px}.hash{font-size:.75rem;overflow-wrap:anywhere;color:#7e96ae}.license-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.server-list{display:grid;gap:18px}.server-list .panel{margin:0}.stat-icon{float:right;color:var(--accent);font-size:1.25rem}.heading-kicker{color:var(--accent);font-size:.8rem;letter-spacing:.08em;margin-bottom:10px}.plain-list{display:grid;gap:10px}.plain-list>div{padding:10px;background:#0d192b;border-radius:8px}.mobile-title{display:none}@media(max-width:1150px){.shell{grid-template-columns:195px minmax(0,1fr)}main{padding:28px 24px}.topbar{padding:16px 24px}.split{grid-template-columns:1fr}.source-layout{grid-template-columns:230px minmax(0,1fr)}}@media(max-width:850px){.shell{display:block}.sidebar{position:static;height:auto;padding:16px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0 0 16px;font-size:1.2rem}.brand-icon{width:35px;height:35px;font-size:1.6rem}.brand small{display:none}.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto;gap:5px}nav a{white-space:nowrap;padding:10px;font-size:.85rem}.topbar{min-height:64px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.projects{grid-template-columns:1fr}.page-heading{align-items:flex-start}.page-heading h1{font-size:1.6rem}.form-grid{grid-template-columns:1fr}.source-layout{grid-template-columns:1fr}.file-list{max-height:230px}.panel{padding:20px}}@media(max-width:540px){main{padding:24px 16px}.topbar{padding:14px 16px}#breadcrumb{display:none}.page-heading{flex-direction:column;gap:18px}.stat{padding:16px}.stat .value{font-size:1.55rem}.panel{padding:16px}.toolbar{flex-wrap:wrap}.toolbar select{width:100%;max-width:none}.release-top{flex-direction:column}.command{flex-wrap:wrap}.command code{flex-basis:100%}.tag{white-space:normal}.stats{gap:10px}.project-card{padding:20px}.server-title{flex-direction:column;align-items:flex-start}h1{font-size:1.5rem}.license-row{grid-template-columns:1fr}}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
fieldset{border:1px solid var(--line);border-radius:10px;padding:18px;margin:0;min-width:0}legend{font-size:.9rem;color:#cbd5e1;padding:0 8px}.missing-field input,.missing-field textarea,.missing-field select{border-color:#bb8738}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.info-grid>div{padding:12px 14px;background:#0c1829;border-radius:9px;min-width:0}.info-grid dt{font-size:.8rem;color:var(--muted);margin-bottom:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.info-grid dd{margin:0;font-size:.9rem;overflow-wrap:anywhere}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.services-grid>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;background:#0c1829;border-radius:8px;font-size:.875rem}dialog{width:min(1000px,94vw)}footer{flex-wrap:wrap}.empty-upload{grid-column:1/-1}.empty-upload.over{border-color:var(--accent);background:#38bdf816}.empty-upload input[type=file]{display:none}.empty-upload:focus-visible{outline:2px solid var(--accent)}@media(max-width:700px){.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid{grid-template-columns:1fr}}@media(max-width:440px){.info-grid{grid-template-columns:1fr}}
/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.brand-estudium{flex-direction:column;align-items:flex-start;gap:12px}.brand-estudium img{display:block;width:100%;max-width:210px;height:auto;background:#fff;border-radius:9px;padding:10px}.brand-estudium>span{font-size:1.25rem}.topbar-actions{display:flex;align-items:center;gap:16px}.language-switch select{min-width:76px;padding:7px 10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#module-options{border:1px solid var(--border);border-radius:12px;padding:20px}#module-options legend{padding:0 8px}.project-card+.project-card{margin-top:0}@media(max-width:700px){.topbar-actions{gap:8px;flex-wrap:wrap}.brand-estudium img{max-width:145px}.brand-estudium{flex-direction:row;align-items:center}}
/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.source-preview{min-width:0}.source-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:#101e32;border-radius:10px 10px 0 0}.source-toolbar span{overflow-wrap:anywhere}.source-toolbar a{flex-shrink:0}.file-list button{display:flex;flex-direction:column;gap:5px;align-items:flex-start}.file-kind{color:#7dd3fc;font-size:.72rem}.source-preview .source-content{margin-top:0}
/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
button.danger{background:#6a2637;border:1px solid #d85979;color:#ffe9ee}button.danger:hover{background:#852e45}.release-top .actions{flex-wrap:wrap;justify-content:flex-end}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.source-modes{display:flex;gap:6px;flex-wrap:wrap;padding:10px;background:#101e32}.source-modes button{background:transparent;color:#bccde0;border:1px solid #34475e;font-size:.8rem;padding:7px 12px}.source-modes button[aria-pressed=true]{background:#163c55;border-color:#38bdf8;color:#e5f6ff}.source-panes{display:grid;min-width:0}.source-panes.split-preview{grid-template-columns:1fr 1fr;gap:10px}.source-panes>*,.rendered-pane{min-width:0}.rendered-pane{background:#0d192b;border:1px solid #34475e;border-radius:8px;max-height:65vh;overflow:auto}.rendered-pane>.markdown{padding:18px}.rendered-pane iframe{border:0;width:100%;height:60vh;display:block;background:white;color-scheme:light}.source-panes .source-content{max-height:65vh;overflow:auto;tab-size:4;white-space:pre;line-height:1.65}.syntax-keyword{color:#c4a1ff;font-weight:600}.syntax-string{color:#a7e6a1}.syntax-comment{color:#95a6bc;font-style:italic}.syntax-number{color:#f4bd87}.syntax-function{color:#81d4fa}.syntax-variable{color:#f6d889}.syntax-tag{color:#ff9cb5}.syntax-property{color:#77ded2}.auth-switch{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.9rem}dialog:has(.source-layout){width:min(1480px,96vw)}@media(max-width:1050px){.source-panes.split-preview{grid-template-columns:1fr}.rendered-pane iframe{height:45vh}}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.seo-readme{white-space:pre-wrap;overflow-wrap:anywhere}
/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;flex-shrink:0}.avatar-placeholder{display:grid;place-items:center;background:#17324d;color:#7dd3fc;font-size:2rem}.profile-head{display:flex;align-items:center;gap:20px;margin-bottom:20px}.profile-head small{display:block;font-size:.8rem;font-weight:400;margin-top:8px}.collaborator-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding:16px 0}#admin-user-list details{min-width:120px}#docs-body{min-height:60vh}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.analytics-consent{position:fixed;bottom:4rem;right:1rem;width:min(28rem,calc(100vw - 2rem));background:#152238;border:1px solid #38bdf8;border-radius:12px;padding:1rem;z-index:1000;box-shadow:0 10px 35px #0008}.analytics-consent button{margin-right:.7rem}.analytics-consent[hidden]{display:none}.analytics-manage{position:fixed;right:1rem;bottom:1rem;z-index:999}

/* Accordion navigation. Autor programu: PB <pavel.bartos.pb@gmail.com> */
.sidebar{min-height:0;overflow:hidden}.sidebar .brand{flex-shrink:0;padding-bottom:24px}
#navigation{display:block;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#35506d transparent}
#navigation .nav-group{margin:0 0 6px}#navigation .nav-toggle{display:flex;width:100%;align-items:center;gap:10px;padding:12px 10px;background:transparent;color:#b5c6da;text-align:left;font-size:.85rem;border:1px solid transparent;border-radius:10px;transition:background .2s,border-color .2s,color .2s}
#navigation .nav-toggle:hover{background:#182940}#navigation .nav-toggle.contains-active{color:#7dd3fc}#navigation .is-open>.nav-toggle{background:#182940;border-color:#29415c;color:#e1f2ff}
#navigation .nav-chevron{margin-left:auto;transition:transform .24s}#navigation .is-open .nav-chevron{transform:rotate(180deg)}
#navigation .nav-panel{display:grid;grid-template-rows:0fr;visibility:hidden;opacity:0;transition:grid-template-rows .24s,opacity .24s,visibility .24s}
#navigation .is-open>.nav-panel{grid-template-rows:1fr;visibility:visible;opacity:1}#navigation .nav-panel-inner{min-height:0;overflow:hidden}
#navigation .nav-panel a{margin:3px 0 3px 12px;padding:9px 10px;font-size:.82rem;white-space:normal;border-left:1px solid #29415c;border-radius:0 8px 8px 0}
#navigation :focus-visible{outline:2px solid #38bdf8;outline-offset:-2px}.sidebar-bottom{flex-shrink:0;padding-top:16px}
.hosted-domains .table-wrap{max-height:280px;overflow:auto}.hosted-domains h3{font-size:.95rem}
@media(max-width:850px){.sidebar{overflow:visible}#navigation{max-height:55vh;overflow-y:auto}.sidebar .brand{padding-bottom:14px}}
@media(prefers-reduced-motion:reduce){#navigation .nav-panel,#navigation .nav-chevron,#navigation .nav-toggle{transition:none}}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
#navigation.public-navigation{display:grid;overflow:visible;max-height:none;gap:4px}
.publication-row{padding:16px;border:1px solid var(--border,#29394e);border-radius:12px;margin-bottom:12px}
.publication-row .form-grid{gap:12px}.academic-block{margin:24px 0}.publications-list li{margin-bottom:14px}
@media(max-width:850px){#navigation.public-navigation{display:flex;flex-wrap:wrap;max-height:none;overflow:visible}#navigation.public-navigation>a{flex:0 1 auto}}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.project-release-date{display:inline-block;margin:0;white-space:nowrap}.project-footer-left{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.project-card{display:flex;flex-direction:column}.project-card>.card-bottom{margin-top:auto;align-items:flex-end}.project-card>.card-bottom:has(.project-footer-left){margin-top:auto}.project-card>.row{margin-bottom:20px}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.keyword-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.keyword-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.keyword-chip button{background:transparent;border:0;color:inherit;padding:0 3px;min-width:24px;min-height:24px;font-size:1.2rem;line-height:1;box-shadow:none}.keyword-chip button:hover,.keyword-chip button:focus-visible{background:rgba(56,189,248,.2);outline:1px solid currentColor}.keyword-field{min-width:0}
/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.profile-card{padding:28px;background:linear-gradient(135deg,#14253a,#111d32)}.profile-card-header{display:flex;align-items:center;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.profile-portrait{width:112px;height:112px;object-fit:cover;border-radius:24px;flex-shrink:0;border:1px solid var(--line)}.profile-portrait.organization-logo{object-fit:contain;background:white;padding:8px}.profile-monogram{display:grid;place-items:center;background:#18334b;color:var(--accent);font-size:3rem}.profile-heading{flex:1;min-width:0}.profile-heading h1{margin:5px 0 10px;overflow-wrap:anywhere}.profile-heading p{margin:0 0 10px}.profile-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted)}.profile-card-actions{display:flex;flex-direction:column;gap:10px}.profile-card-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr);gap:32px;padding-top:24px}.profile-main section+section,.profile-cv{margin-top:24px}.profile-main h2,.profile-contacts h2{font-size:1rem;margin:0 0 12px}.profile-main p{margin:0;overflow-wrap:anywhere}.profile-contacts{border-left:1px solid var(--line);padding-left:26px}.profile-contacts dl{margin:0;display:grid;gap:16px}.profile-contacts dt{font-size:.75rem;color:var(--muted);margin-bottom:4px}.profile-contacts dd{margin:0;overflow-wrap:anywhere}.profile-affiliations{display:grid;gap:10px}.profile-affiliations a{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.profile-affiliations span{font-size:.75rem;color:var(--muted)}.profile-cv summary{cursor:pointer;font-weight:700}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.portfolio-item{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}.portfolio-item[hidden]{display:none}.portfolio-type{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.portfolio-item h3{margin:16px 0 8px;overflow-wrap:anywhere}.portfolio-description{font-size:.88rem;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.portfolio-footer{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:16px;font-size:.78rem}.portfolio-footer>a{margin-left:auto}.work-filters{flex-wrap:wrap}.work-filters button span{opacity:.65;margin-left:6px}.profile-portfolio .panel-header h2{margin-bottom:4px}@media(max-width:720px){.profile-card{padding:20px}.profile-card-header{flex-wrap:wrap;gap:16px}.profile-portrait{width:80px;height:80px;border-radius:18px}.profile-card-actions{width:100%;flex-direction:row;flex-wrap:wrap}.profile-card-columns{grid-template-columns:1fr;gap:24px}.profile-contacts{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.profile-contacts dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.profile-photo-drop{padding:20px;border:2px dashed var(--line);border-radius:14px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.profile-photo-drop.over{border-color:var(--accent);background:#153047}.profile-photo-drop .photo-pick{flex:1;min-width:180px}.profile-photo-drop p{margin:8px 0}.profile-photo-preview .avatar{width:96px;height:96px}.profile-photo-preview{min-width:96px}.profile-photo-drop [role=alert]{width:100%}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.avatar.organization-logo{width:auto;min-width:84px;max-width:min(224px,100%);border-radius:16px;object-fit:contain;padding:8px;background:#fff;border:1px solid var(--line)}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.profile-photo-preview{max-width:100%}.profile-photo-preview .avatar.organization-logo{width:auto;min-width:96px;max-width:min(256px,100%)}
.profile-portrait.organization-logo{width:auto;min-width:112px;max-width:min(280px,100%)}
@media(max-width:720px){.profile-portrait.organization-logo{width:auto;min-width:80px;max-width:min(220px,100%)}}
/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.profile-head{flex-wrap:wrap}.profile-head>h2{flex:1 1 140px;min-width:0;overflow-wrap:anywhere}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.server-table-wrap{border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.server-summary-table{width:100%;border-collapse:collapse}.server-summary-table>thead>tr>th{color:var(--muted);font-size:.8rem;font-weight:500;padding:14px 18px}
.server-summary-row{cursor:pointer;transition:background .16s}.server-summary-row:hover,.server-summary-row.expanded{background:#162a40}
.server-summary-row>th,.server-summary-row>td{padding:16px 18px;text-align:left;vertical-align:middle}.server-summary-row>th{font-weight:600}
.server-row-toggle{display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;box-shadow:none}.server-row-toggle:hover{background:transparent;color:var(--accent)}.server-row-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:3px}
.server-chevron{font-size:1.5rem;line-height:1;color:var(--accent);transition:transform .16s}.server-summary-row.expanded .server-chevron{transform:rotate(90deg)}
.server-installation-id{font-family:ui-monospace,monospace;font-size:.8rem;overflow-wrap:anywhere;max-width:320px}
.server-expanded-row[hidden]{display:none}.server-expanded-row>td{padding:0 14px 14px}.server-expanded-row .panel{margin:0;background:#101e30}.server-expanded-row .panel .table-wrap{max-width:100%}
@media(max-width:720px){.server-summary-table{min-width:670px}.server-summary-row>th,.server-summary-row>td{padding:13px 12px}.server-expanded-row>td{padding:0 8px 8px}}
@media(prefers-reduced-motion:reduce){.server-summary-row,.server-chevron{transition:none}}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.server-summary-row>th,.server-summary-row>td{padding:8px 12px}.server-summary-table>thead>tr>th{padding:10px 12px}.server-summary-row .tag{font-size:.72rem;padding:3px 7px}.server-summary-row>th{background:transparent}.server-summary-row>td:last-child{white-space:nowrap}
.batch-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}.batch-list li{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;background:#0c1b2c;border-radius:8px;overflow-wrap:anywhere}.batch-list li>span:first-child{min-width:0}.batch-question{padding-top:20px;border-top:1px solid var(--line)}.batch-question label{display:grid;gap:8px}.batch-question .check{display:flex}.batch-known{margin:14px 0}.batch-question textarea{min-height:130px}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
dialog:has(.license-table){width:min(1100px,96vw)}.license-table{min-width:630px}.license-table td,.license-table th{vertical-align:middle;padding:10px 14px}.license-table th[scope=row]{background:transparent;color:var(--text);font-weight:600}.license-table th small{display:block;font-size:.75rem;font-weight:400;margin-top:5px}.license-table input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.license-table input[type=date]{min-width:160px}.license-table td:first-child{text-align:center;width:70px}.license-table td:last-child{min-width:135px}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> */
.license-select-all{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;font-size:.75rem}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> · eUpdate 1.7.3 */
.license-table td,.license-table th{padding:4px 9px;font-size:.79rem;line-height:1.25}.license-table th small{display:inline;margin:0 0 0 8px;font-size:.7rem}.license-table input[type=date]{padding:4px 7px;min-height:30px;width:155px;min-width:145px;font-size:.8rem}.license-table input[type=checkbox]{width:17px;height:17px;margin:0}.license-select-all{flex-direction:row;gap:6px}.license-table .tag{padding:3px 7px;font-size:.69rem}.license-table td:first-child{width:75px}.license-table td:last-child{min-width:110px}.license-row{padding:5px 0;gap:8px;font-size:.8rem}.license-row .tag{padding:3px 7px}.license-table thead{position:sticky;top:0;z-index:1}#license-form{gap:10px}#license-form>.table-wrap{max-height:52vh;overflow:auto}#license-form>p{margin:0;font-size:.8rem}
.server-report{margin-top:20px}.report-section{margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:10px}.report-section>summary{font-weight:600;cursor:pointer}.report-table-wrap{max-height:420px;overflow:auto;margin-top:8px}.report-table th,.report-table td{padding:5px 9px;vertical-align:top;font-size:.78rem}.report-table td{white-space:pre-wrap;overflow-wrap:anywhere;min-width:90px}.report-table th{white-space:nowrap}.report-table .tag{padding:2px 6px}.report-properties>tbody>tr>th{width:28%}.report-nested{min-width:150px}.report-nested>summary{cursor:pointer}.report-nested .report-table-wrap{max-height:300px}
.project-card{position:relative}.project-card-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}.project-card a:not(.project-card-link){position:relative;z-index:2}.project-card:focus-within{outline:2px solid var(--accent);outline-offset:3px}.project-card:hover{border-color:var(--accent)}
footer.site-footer{display:block}.footer-credit{display:flex;flex-wrap:wrap;gap:10px}/* Compact introduction: read across columns on desktop, stack on mobile. */
.home-about{width:100%;max-width:none;margin:12px 0 24px;color:var(--text);font-size:.9rem;line-height:1.55}
.home-about-header{margin-bottom:20px}.home-about h2{font-size:1.35rem;line-height:1.3;margin-bottom:8px}.home-about .home-about-lead{max-width:110ch;margin:0;color:var(--muted)}
.home-about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.home-about-topic{min-width:0;border-top:1px solid var(--line);padding-top:14px}.home-about-topic h3{font-size:1rem;margin:0 0 10px;color:#7dd3fc}.home-about p{max-width:none;line-height:1.6}.home-about .home-line{margin:0 0 10px;overflow-wrap:anywhere}.home-word{border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.home-word.is-line{background:#38bdf81c;color:#f0f9ff}.home-word.is-word,.home-word:hover{background:#38bdf8;color:#062236;box-shadow:0 0 0 2px #38bdf8}.home-about-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:14px;font-size:.85rem}.home-about[hidden]{display:none}
@media(max-width:1150px){.home-about-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.home-about-topic:last-child{grid-column:1/-1}}
@media(max-width:700px){.home-about-grid{grid-template-columns:1fr;gap:14px}.home-about-topic:last-child{grid-column:auto}.home-about h2{font-size:1.2rem}.license-row{grid-template-columns:1fr auto}.license-table th small{display:block;margin:2px 0 0}}


/* Autor programu: PB <pavel.bartos.pb@gmail.com> · eUpdate 1.7.3 */
.module-summary-wrap{margin:0 0 20px;border:1px solid var(--line);border-radius:10px;max-height:340px;overflow:auto}.module-summary-table{width:100%;min-width:380px}.module-summary-table caption{text-align:left;padding:9px 12px;font-size:.78rem;color:var(--muted)}.module-summary-table th,.module-summary-table td{padding:5px 12px;font-size:.8rem;line-height:1.35;vertical-align:middle}.module-summary-table th[scope=row]{background:transparent;font-weight:500;overflow-wrap:anywhere}.module-summary-table td{white-space:nowrap}.module-summary-table .tag{padding:2px 7px;font-size:.72rem}.module-summary-table thead{position:sticky;top:0;z-index:1}.module-summary-table tbody tr:hover{background:rgba(56,189,248,.05)}

/* Autor programu: PB <pavel.bartos.pb@gmail.com> · eUpdate 1.7.3 */
.monitor-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:12px;margin:14px 0}.monitor-stats .stat{padding:15px}.monitor-stats .value{font-size:1.25rem}.monitor-stats .hint{font-size:.73rem;line-height:1.5}.monitor-storage{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:25px;margin:25px 0}.monitor-chart{height:290px;position:relative}.disk-progress{display:block;width:100%;height:7px;margin-top:9px;accent-color:var(--accent)}#system-monitor details>summary{cursor:pointer}#network-details{margin-top:12px}@media(max-width:800px){.monitor-storage{grid-template-columns:1fr}.monitor-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.monitor-stats{grid-template-columns:1fr}}

/* eUpdate 1.7.4: bounded XML previews */
.xml-preview{max-height:340px;overflow:auto}.xml-preview td{overflow-wrap:anywhere;white-space:normal}.xml-source{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}

/* Project releases and activity. Autor programu: PB <pavel.bartos.pb@gmail.com> */
.older-releases{margin:16px 0 24px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#111d3266}.older-releases>summary{cursor:pointer;font-weight:600;color:var(--accent)}.older-release-list{padding-top:18px}.older-release-list>.release:last-child{margin-bottom:0}.project-activity{margin-top:30px}.project-activity>.panel-header{align-items:flex-start}.project-activity-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.project-activity-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-activity-charts>.panel{min-width:0}.project-activity-charts .chart-box{height:280px}.activity-period{min-width:200px}.activity-table td:not(:first-child),.activity-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.activity-table tfoot{font-weight:700;border-top:2px solid var(--line)}
@media(max-width:1050px){.project-activity-charts{grid-template-columns:1fr}}@media(max-width:600px){.project-activity-stats{grid-template-columns:1fr}.project-activity>.panel-header{flex-direction:column}.activity-period{width:100%}}

/* eUpdate 1.7.7: keep the project overview in the release column beside README. */
.project-release-layout{align-items:start;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr)}
.project-release-main,.project-release-description{min-width:0}
.project-release-main{container-type:inline-size}
.project-release-main .project-activity{margin-top:24px}
.project-release-main .project-activity-charts{grid-template-columns:1fr}
.project-release-main .project-activity-charts .chart-box{height:240px}
.project-release-main .project-activity-stats{gap:10px}
.project-release-main .project-activity-stats .stat{padding:16px}
.project-release-description .markdown{overflow-wrap:anywhere}
.home-about-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px}
.home-about .home-about-intro .home-about-lead{max-width:none;margin:0}
@container(min-width:760px){.project-release-main .project-activity-charts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:560px){.project-release-main .project-activity>.panel-header{flex-direction:column}.project-release-main .activity-period{width:100%}.project-release-main .project-activity-stats{grid-template-columns:1fr}}
@media(max-width:1100px){.project-release-layout{grid-template-columns:1fr}}
@media(max-width:700px){.home-about-intro{grid-template-columns:1fr}}

/* eUpdate 1.7.8 package requirements */
.package-contract-fields{min-width:0}.package-contract-fields .form-grid{margin-top:12px}.package-license-text{white-space:pre-wrap;overflow-wrap:anywhere}.compatible-package>summary{cursor:pointer;font-weight:600}.package-info{gap:6px}.compatible-package-result{overflow-wrap:anywhere}
