:root{--red:#f42427;--navy:#071523;--soft:#f3f5f6;--line:#dce1e4;--green:#168447;--body:Arial,Helvetica,sans-serif;--head:Impact,"Arial Narrow",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--soft);color:#17202a;font-family:var(--body);line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.portal-header{height:76px;padding:0 max(22px,calc((100vw - 1180px)/2));display:flex;align-items:center;background:var(--navy);color:#fff}.brand{display:inline-flex;align-items:flex-end;gap:4px;font-family:var(--head);font-style:italic;line-height:.8}.brand span{font-size:38px}.brand b{font-size:20px;position:relative;padding-bottom:3px}.brand b:after{content:"";position:absolute;left:0;bottom:-8px;width:24px;height:4px;background:var(--red)}.portal-header nav{display:flex;align-items:center;gap:18px;margin-left:auto;font-size:10px;font-weight:800;text-transform:uppercase}.portal-header button,.link-button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:10px;font-weight:800;text-transform:uppercase}.portal-main{max-width:1180px;margin:auto;padding:50px 24px 80px}.portal-title{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.portal-title h1{margin:0;font-family:var(--head);font-size:54px;font-weight:400;line-height:.95;text-transform:uppercase}.portal-title p{max-width:580px;margin:0;color:#66717b}.panel{background:#fff;padding:30px;box-shadow:0 5px 22px rgba(10,24,36,.06);margin-bottom:24px}.panel h2{margin:0 0 22px;font-family:var(--head);font-size:30px;font-weight:400;text-transform:uppercase}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #cfd5da;background:#fff;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--red)}.full{grid-column:1/3}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:0;cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.primary{background:var(--red);color:#fff}.secondary{background:var(--navy);color:#fff}.danger{background:#fff0f0;color:#bc1f23;border:1px solid #f0cacc}.notice{display:none;margin-bottom:18px;padding:13px 15px;font-size:12px}.notice.show{display:block}.notice.error{background:#fff0f0;color:#9f181d}.notice.success{background:#e9f8ef;color:#176d3a}.auth-wrap{max-width:520px;margin:50px auto}.tabs{display:flex;margin-bottom:20px}.tabs button{flex:1;padding:13px;border:0;background:#dfe4e7;font-weight:800;text-transform:uppercase;font-size:10px;cursor:pointer}.tabs button.active{background:var(--navy);color:#fff}.hidden{display:none!important}.extras-builder{padding:17px;background:var(--soft)}.extra-row{display:grid;grid-template-columns:1fr 150px 40px;gap:9px;margin-top:9px}.extra-row input{margin:0}.extra-row button{border:0;background:#eee;color:#9d1f22;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.portal-card{background:#fff;padding:23px;border-top:4px solid var(--navy);box-shadow:0 4px 15px rgba(10,24,36,.05)}.portal-card h3{margin:8px 0 4px;font-size:18px}.portal-card p{margin:5px 0;color:#65707a;font-size:12px}.portal-card .availability{color:var(--green);font-weight:800}.portal-card .sold{color:#c1272d}.portal-card .price{margin:18px 0;color:#17202a;font-family:var(--head);font-size:30px}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.card-actions button,.card-actions a{min-height:38px;padding:0 12px}.extra-list{margin:12px 0;padding:0;list-style:none;font-size:11px}.extra-list li{padding:5px 0;border-bottom:1px solid #eef0f2}.booking-form{margin-top:25px;padding-top:25px;border-top:1px solid var(--line)}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.check{display:flex;align-items:center;gap:8px;padding:10px;background:var(--soft);font-size:12px}.check input{width:auto;margin:0}.booking-list{display:grid;gap:12px}.booking-item{display:grid;grid-template-columns:1fr auto;gap:20px;padding:18px;background:#fff;border-left:4px solid var(--green)}.booking-item.cancelled{opacity:.62;border-left-color:#999}.booking-item h3{margin:0 0 5px;font-size:16px}.booking-item p{margin:3px 0;color:#65707a;font-size:12px}.badge{display:inline-block;padding:5px 8px;background:#e7f7ed;color:#17733d;font-size:9px;font-weight:800;text-transform:uppercase}.badge.archived,.badge.cancelled{background:#eee;color:#666}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff;font-size:12px}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#edf0f2;font-size:9px;text-transform:uppercase}.empty{padding:35px;text-align:center;color:#7a838a;background:#fff}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.admin-grid>.panel{margin:0}.admin-trip{padding:17px;border:1px solid var(--line);margin-bottom:12px}.admin-trip h3{margin:0 0 6px}.admin-trip p{margin:3px 0;font-size:12px;color:#68717a}.inline-extra{display:flex;gap:8px;margin-top:12px}.inline-extra input{min-width:0;padding:8px;border:1px solid var(--line)}@media(max-width:850px){.cards{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.portal-title{display:block}.portal-title p{margin-top:12px}}@media(max-width:600px){.portal-header{height:auto;min-height:70px;padding:15px 20px}.portal-header nav a:not(:last-child){display:none}.portal-main{padding:35px 18px}.portal-title h1{font-size:43px}.panel{padding:22px}.form-grid,.cards{grid-template-columns:1fr}.full{grid-column:1}.checks{grid-template-columns:1fr}.extra-row{grid-template-columns:1fr 105px 35px}.booking-item{grid-template-columns:1fr}.admin-grid{display:block}.admin-grid>.panel{margin-bottom:20px}}

/* Logo z CMS w nagłówku panelu zastępuje napis ON CAMP i zachowuje niewielki rozmiar. */
.portal-header .brand.has-cms-logo{display:flex;width:190px;height:58px;align-items:center;justify-content:flex-start;overflow:hidden;zoom:var(--cms-logo-scale,1)}
.portal-header .brand.has-cms-logo span,.portal-header .brand.has-cms-logo b{display:none}
.portal-header .brand .cms-brand-logo{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:left center}
@media(max-width:600px){.portal-header .brand.has-cms-logo{width:170px;height:52px}}
