/* Isolated full-screen application above any WordPress/Bricks template. */
html:has(body.urp-app-open),body.urp-app-open{overflow:hidden!important}
body.urp-app-open #urp-app{
 position:fixed!important;inset:0!important;z-index:2147483000!important;
 display:block!important;box-sizing:border-box!important;
 width:100vw!important;height:100dvh!important;max-width:none!important;
 margin:0!important;padding:0!important;border:0!important;
 background:#eef4fb!important;overflow-x:hidden!important;overflow-y:auto!important;
 overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch;
 isolation:isolate!important;
}
body.urp-app-open #urp-app .urp-wrap{min-height:100%;}
.urp-page,
.urp-page body{background:#eef4fb!important}
.urp-page .entry-title,
.urp-page .page-title,
.urp-page .post-title,
.urp-page .brxe-post-title,
.urp-page .main-title,
.urp-page .woocommerce-products-header,
.urp-page .archive-title,
.urp-page .bricks-page-title,
.urp-page .section-title{display:none!important}
.urp-page header.site-header,
.urp-page footer.site-footer,
.urp-page .site-header,
.urp-page .site-footer,
.urp-page #brx-header,
.urp-page #brx-footer,
.urp-page .brxe-header,
.urp-page .brxe-footer{display:none!important}
.urp-page #brx-content,
.urp-page #content,
.urp-page .site-main,
.urp-page main,
.urp-page article,
.urp-page .entry-content,
.urp-page .brxe-post-content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important}
.urp-page #urp-app{width:100%;max-width:none;min-height:100vh}
.urp-wrap{max-width:1240px;min-height:100vh;margin:0 auto;padding:24px;color:#152847;font:16px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}
.urp-wrap *{box-sizing:border-box}
.urp-hero{display:block;width:100%;border-radius:24px;box-shadow:0 18px 44px rgba(22,59,116,.14);margin:0 auto 24px}
.urp-panel{background:#fff;border:1px solid #dce6f3;border-radius:24px;padding:32px;box-shadow:0 12px 28px rgba(29,55,99,.06)}
.urp-panel h1{font-size:clamp(28px,3vw,46px);line-height:1.15;margin:0 0 8px;color:#10294c}
.urp-panel h2{font-size:28px;margin:0 0 8px;color:#10294c}
.urp-panel h3{font-size:19px;margin:20px 0 10px;color:#16345a}
.urp-panel p{margin:8px 0 16px}
.urp-subtitle{color:#526581}
.urp-login,.urp-narrow{max-width:560px;margin:auto}
.urp-login{text-align:center}
.urp-wrap form{text-align:left}
.urp-wrap label{display:block;font-weight:650;margin:12px 0 8px;color:#344b69}
.urp-wrap input:not([type=checkbox]),.urp-wrap select{display:block;width:100%;border:1px solid #b8cbe3;border-radius:12px;background:#fff;padding:13px 14px;font:inherit;color:#193456;margin-top:5px}
.urp-wrap input:focus,.urp-wrap select:focus{outline:2px solid #2b71d3;outline-offset:1px}
.urp-primary{cursor:pointer;border:0;border-radius:12px;background:#1765cb;color:#fff!important;padding:13px 20px;font:700 16px system-ui;width:100%;margin-top:10px;box-shadow:0 8px 18px rgba(23,101,203,.18)}
.urp-primary:hover{background:#0f53ae}.urp-primary:disabled{opacity:.55;cursor:wait}
.urp-inline{width:auto;display:inline-flex;align-items:center;justify-content:center}
.urp-link{cursor:pointer;color:#185dc0;background:none;border:0;padding:10px;text-decoration:underline;font:600 15px system-ui}
.urp-menu,.urp-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;background:#fff;border:1px solid #dce6f3;border-radius:18px;box-shadow:0 10px 24px rgba(29,55,99,.06)}
.urp-menu__center{font-weight:750;color:#10294c;text-align:center;flex:1}
.urp-menu__right,.urp-menu__left{display:flex;align-items:center;gap:10px}
.urp-menu a,.urp-top a{color:#1759b9;text-decoration:none;font-weight:700}
.urp-menu button{background:#e8f1ff;border:0;border-radius:10px;padding:10px 14px;color:#184f9c;cursor:pointer;font-weight:700}
.urp-heading{text-align:center}
.urp-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}
.urp-system{display:block;padding:28px;background:#edf5ff;border:1px solid #d1e3f9;border-radius:22px;color:#172c4c!important;text-decoration:none!important;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 22px rgba(25,62,115,.06)}
.urp-system:nth-child(2){background:#edf9f4;border-color:#cbebde}.urp-system:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(25,62,115,.10)}
.urp-system h3{margin:8px 0}.urp-system p{font-size:15px;color:#55677f}.urp-system strong{color:#115cbf}.urp-emoji{font-size:38px}
.urp-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 10px}
.urp-slot{font:600 15px system-ui;padding:14px 12px;border:1px solid #bbd3ef;border-radius:14px;background:#f1f7ff;color:#1e4c87;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;min-height:78px;transition:transform .15s,box-shadow .15s,border-color .15s}
.urp-slot-time{font-size:18px;font-weight:800;line-height:1.1}
.urp-slot-state{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.urp-slot:not(:disabled):hover,.urp-slot.urp-active{background:#1864cc;color:#fff;border-color:#1864cc;transform:translateY(-1px);box-shadow:0 10px 18px rgba(24,100,204,.18)}
.urp-slot.is-free{background:#ecf8ef;border-color:#b9dec1;color:#185d37}
.urp-slot.is-taken{background:#f4f6f8;border-color:#d7dfe7;color:#7a8898;cursor:not-allowed}
.urp-slot.is-blocked{background:#fff4e8;border-color:#f2d5a7;color:#9a6409;cursor:not-allowed}
.urp-slot.is-taken .urp-slot-state,.urp-slot.is-blocked .urp-slot-state,.urp-slot.is-free .urp-slot-state{opacity:.95}
.urp-legend{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 18px;padding:12px 14px;background:#f7faff;border:1px solid #dce6f3;border-radius:14px}
.urp-legend-item{display:flex;align-items:center;gap:8px;color:#455a77;font-size:14px;font-weight:650}
.urp-dot{width:12px;height:12px;border-radius:999px;display:inline-block}
.urp-dot.free{background:#72c587}.urp-dot.taken{background:#c8d1db}.urp-dot.blocked{background:#edc178}
.urp-form{background:#f3f8ff;border:1px solid #dae8f9;padding:20px;border-radius:18px;margin-top:20px}
.urp-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.urp-check{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important}.urp-check input{margin-top:6px}
.urp-info,.urp-foot{color:#65758b;font-size:13px}.urp-foot{margin-top:12px;text-align:center}
.urp-hidden{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}
.urp-message{padding:12px 14px;color:#a21b29;background:#fff1f0;border-radius:12px;margin-top:14px!important}.urp-message.urp-ok{color:#11613a;background:#e5f7ed}
.urp-statline{margin:18px 0 14px;color:#314d73}.urp-statline strong{font-size:19px;color:#12315c}
.urp-table-wrap{overflow:auto}.urp-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:14px;border:1px solid #e2e9f2;border-radius:16px;overflow:hidden}.urp-table th,.urp-table td{border-bottom:1px solid #e2e9f2;padding:14px 12px;vertical-align:top;background:#fff}.urp-table tr:last-child td{border-bottom:0}.urp-table th{background:#edf5ff;color:#24486f;font-weight:800}
.urp-small{background:#e9f1ff;border:0;color:#1557a8;padding:7px 9px;margin:2px;border-radius:8px;cursor:pointer;font-weight:700}.urp-danger{color:#a01835;background:#ffedf0}
.urp-settings{margin-top:24px;padding:18px;background:#f7faff;border:1px solid #deebfa;border-radius:16px}.urp-settings summary{cursor:pointer;font-weight:800;color:#15365f}
.urp-blocks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.urp-blocks label{font-weight:500;font-size:14px;padding:8px 10px;border:1px solid #d7e3f4;border-radius:10px;background:#fff}.urp-blocks input{margin-right:6px}
.urp-muted-card{padding:16px 18px;background:#f7faff;border:1px solid #deebfa;border-radius:16px;color:#425b7b;font-weight:600}
@media(max-width:980px){.urp-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.urp-wrap{padding:12px;margin-top:0}.urp-panel{padding:18px;border-radius:18px}.urp-cards,.urp-two{grid-template-columns:1fr}.urp-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.urp-blocks{grid-template-columns:repeat(2,minmax(0,1fr))}.urp-hero{border-radius:16px}.urp-menu,.urp-top{padding:12px 14px;flex-direction:column;align-items:stretch}.urp-menu__center{text-align:left}.urp-menu__right,.urp-menu__left{justify-content:space-between}}

/* v3.3: restore natural capitalization despite school theme */
.urp-page #urp-app,.urp-page #urp-app * {text-transform:none!important;font-variant:normal!important}
.urp-login-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(350px,1fr);gap:24px;align-items:center;min-height:calc(100vh - 64px);max-width:1360px;margin:0 auto}
.urp-login-art{min-width:0}
.urp-login-art .urp-hero{margin:0;width:100%;height:auto;display:block}
.urp-login-layout .urp-login{width:100%;max-width:540px;margin:0;padding:32px;text-align:left}
.urp-login-layout .urp-login h2{font-size:clamp(23px,2vw,29px)}
.urp-login-layout .urp-login .urp-link{display:block;margin:6px auto 0}
.urp-dashboard{margin-top:8px}
@media(max-width:950px){.urp-login-layout{grid-template-columns:1fr;min-height:0;gap:16px;max-width:680px}.urp-login-art .urp-hero{max-height:220px;object-fit:cover;object-position:center}.urp-login-layout .urp-login{margin:0 auto;max-width:680px}}
@media(max-width:680px){.urp-login-art .urp-hero{max-height:160px}.urp-login-layout .urp-login{padding:20px}}

/* 3.4: vysoká specificita pro ochranu před typography pravidly Bricks */
body.urp-app-open #urp-app,body.urp-app-open #urp-app *,html body.urp-app-open #urp-app .urp-wrap * {text-transform:none!important;font-variant-caps:normal!important;font-variant:normal!important}
