:root { --ink:#182c40; --muted:#5e7080; --accent:#087e83; --bs-primary:#087e83; --bs-primary-rgb:8,126,131; --bs-body-color:var(--ink); }
body { background:radial-gradient(ellipse at 95% 15%,#dcefed 0,transparent 40%),#f3f6f8; color:var(--ink); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:1rem; line-height:1.6; }
[hidden] { display:none !important; }
.app-navbar { background:#152b3d !important; padding:1.15rem 0; border-bottom:3px solid #36b3ad; }
.navbar-brand { display:flex; align-items:center; gap:12px; font-size:1rem; letter-spacing:-.02em; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border:1px solid #ffffff35; border-radius:12px; background:#ffffff0d; color:#70ded4; font-size:28px; letter-spacing:3px; }
.brand-caption { display:block; margin-top:2px; font-size:.6rem; font-weight:500; letter-spacing:.15em; color:#a6bdca; }
main.container { padding-top:1.5rem; }
.page-intro { padding:.5rem 0 1.2rem; }
.eyebrow { color:#08777c; font-size:.72rem; font-weight:750; letter-spacing:.17em; margin-bottom:1rem; }
h1,h2,h3 { color:var(--ink); letter-spacing:-.035em; }
.page-intro h1 { font-size:clamp(1.9rem,4vw,2.9rem); font-weight:750; line-height:1.18; margin-bottom:1.1rem !important; }
.lead { color:var(--muted); font-size:1.05rem; line-height:1.7; }
.card { border:1px solid #dfe7ec; border-radius:20px; overflow:hidden; box-shadow:0 12px 40px #203e5210 !important; }
#form-rez>.card-body { padding:2rem !important; }
.section-title { display:flex; align-items:center; gap:12px; padding-bottom:1rem; margin-bottom:1.25rem; border-bottom:1px solid #e4ebef; font-weight:700; font-size:1.15rem; }
.section-title.mt-4 { margin-top:2.5rem !important; }
.step-number { display:inline-grid; place-items:center; width:34px; height:34px; flex-shrink:0; color:#07767b; background:#e6f4f2; border-radius:10px; font-size:.78rem; letter-spacing:0; }
.section-description { color:var(--muted); font-size:.9rem; margin-top:-.5rem; }
.form-label { font-size:.91rem; font-weight:600; margin-bottom:.5rem; }
.form-control { border-color:#cbd7df; border-radius:10px; background:#fcfdfe; color:var(--ink); }
.form-control-lg { font-size:1rem; min-height:50px; padding:.75rem .9rem; }
.form-control::placeholder { color:#748492; font-size:.92rem; }
.form-control:focus { border-color:#087e83; box-shadow:0 0 0 3px #087e831f; background:#fff; }
.form-text,.text-muted { color:var(--muted) !important; }
.room-btn { position:relative; text-align:left; padding:1.2rem; border:1px solid #ccd9e1; border-radius:12px !important; background:#fff; color:var(--ink); transition:background .15s,border-color .15s; }
.room-symbol { display:block; font-size:1.8rem; line-height:1; margin-bottom:1rem; color:#087e83; }
.room-btn .small { color:var(--muted); }
.room-btn:hover { color:var(--ink); background:#f0faf8; border-color:#087e83; }
.btn-check:checked+.room-btn { color:var(--ink); background:#ecf8f5; border-color:#087e83; box-shadow:inset 0 0 0 1px #087e83; }
.btn-check:checked+.room-btn::after { content:'✓'; position:absolute; top:14px; right:16px; color:#087e83; font-weight:700; }
.btn-check:focus-visible+.room-btn { outline:3px solid #087e8380; outline-offset:3px; }
.room-box { background:#f5f9fa; border:1px solid #dce7eb; border-radius:12px; padding:1.25rem; }
.form-check-lg { padding-left:2rem; margin-bottom:.6rem; min-height:1.75rem; }
.form-check-lg .form-check-input { width:1.25rem; height:1.25rem; margin-left:-2rem; margin-top:.22rem; }
.form-check-input:checked { background-color:#087e83; border-color:#087e83; }
.form-check-input:focus { border-color:#087e83; box-shadow:0 0 0 3px #087e8326; }
.btn { border-radius:9px; font-weight:600; }
.btn-primary { --bs-btn-bg:#087e83; --bs-btn-border-color:#087e83; --bs-btn-hover-bg:#06656a; --bs-btn-hover-border-color:#06656a; --bs-btn-active-bg:#05585d; --bs-btn-active-border-color:#05585d; --bs-btn-disabled-bg:#087e83; --bs-btn-disabled-border-color:#087e83; }
.btn-outline-primary { --bs-btn-color:#087e83; --bs-btn-border-color:#087e83; --bs-btn-hover-bg:#087e83; --bs-btn-hover-border-color:#087e83; --bs-btn-active-bg:#087e83; --bs-btn-active-border-color:#087e83; }
.submission-note { font-size:.85rem; color:var(--muted); text-align:center; margin:1.2rem 0; }
#form-rez button[type=submit] { font-size:1rem !important; border-radius:12px; box-shadow:0 5px 14px #087e8320; }
.alert { border-radius:12px; padding:1rem 1.2rem; font-size:.93rem; }
.alert-info { color:#24565e; background:#e6f2f3; border:1px solid #cae3e5; border-left:3px solid #087e83; margin-bottom:1.5rem; }
.hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.summary th { width:38%; color:var(--muted); font-weight:500; padding-left:1.25rem; }
.summary td { padding-right:1.25rem; }
.summary tr+tr { border-top:1px solid #eef1f5; }
.card-header,.card-footer { padding:1rem 1.25rem; border-color:#e5ebef; }
.res-card.status-oczekuje { border-top:4px solid #e7b448; }
.res-card.status-zatwierdzona { border-top:4px solid #198754; }
.res-card.status-odrzucona { border-top:4px solid #c75663; }
.res-card dt { color:var(--muted); font-weight:500; font-size:.9rem; }
.res-card dd { margin-bottom:.65rem; }
footer { padding-top:1rem; }
a { color:#08777c; }
@media(min-width:992px) { #form-rez { margin-bottom:2rem; } }
@media(max-width:575px) { .app-navbar { padding:.8rem 0; } .app-navbar>.container { gap:12px; } main.container { padding-top:.5rem; } #form-rez>.card-body { padding:1.15rem !important; } .card { border-radius:14px; } .room-btn { padding:1rem .8rem; } .page-intro h1 { font-size:2rem; } .summary th { width:42%; } }
