.portal-body{background:#f5f9fa}.portal-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px max(4vw,24px);background:#fff;border-bottom:1px solid #dbe6eb}.portal-header nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:700}.portal-main{min-height:calc(100vh - 150px)}.portal-footer{padding:28px 5vw;text-align:center;color:#637887;background:#fff;border-top:1px solid #dbe6eb;font-size:12px}.public-hero{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center;min-height:520px;padding:80px max(7vw,30px);color:#fff;background:#0a3d61}.public-hero h1,.auth-intro h1,.dashboard-head h1,.form-page h1{margin:15px 0;font-size:clamp(42px,6vw,76px);line-height:1;letter-spacing:-.05em}.public-hero p{max-width:620px;color:#d4e5ee}.public-card{display:grid;gap:10px;padding:45px;border-radius:24px;background:linear-gradient(135deg,#12aeb8,#1475dc);box-shadow:0 30px 80px #051f35}.public-card small{font-size:10px;letter-spacing:.12em}.public-card strong{font-size:28px}.portal-section-wrap,.form-page,.dashboard-head,.dashboard-grid,.calendar-panel,.portal-main>.panel{max-width:1240px;margin:auto}.portal-section-wrap{padding:90px 30px}.portal-title h1,.portal-title h2{margin:12px 0;font-size:42px;letter-spacing:-.04em}.news-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.news-grid article,.panel{padding:28px;border:1px solid #dbe6eb;border-radius:18px;background:#fff;box-shadow:0 5px 20px rgba(7,45,73,.04)}.news-grid small{color:#12aeb8;font-weight:800}.contact-band{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1180px;margin:0 auto 80px;padding:45px;border-radius:24px;color:#fff;background:#072d49}.auth-shell{display:grid;grid-template-columns:1fr 480px;gap:80px;align-items:center;max-width:1180px;min-height:650px;margin:auto;padding:60px 30px}.auth-intro{padding:50px;color:#fff;background:#0a3d61;border-radius:24px}.auth-intro h1{font-size:54px}.auth-form,.stack-form,.registration-form{display:grid;gap:18px}.panel h2{margin-top:0}.panel label,.registration-form label,.booking-form label{display:grid;gap:7px;font-size:12px;font-weight:800}.panel input,.panel select,.panel textarea,.registration-form input,.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:11px 12px;border:1px solid #cadce4;border-radius:9px;background:#fff}.form-page{padding:70px 30px}.registration-form{margin-top:30px}.form-grid,.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full-width{grid-column:1/-1}.check{display:flex!important;grid-template-columns:22px 1fr!important;align-items:start}.check input{width:auto}.form-error{padding:10px;border-radius:8px;color:#973d38;background:#fee9e7}.flash{position:fixed;z-index:50;left:50%;top:90px;transform:translateX(-50%);padding:12px 20px;border-radius:9px;color:#fff;background:#23775a;box-shadow:0 10px 30px #183}.flash.error{background:#a94740}.dashboard-head{display:flex;justify-content:space-between;align-items:end;padding:60px 30px 28px}.dashboard-head h1{font-size:52px}.dashboard-head p{color:#637887}.member-chip{display:grid;min-width:180px;padding:18px;border-radius:15px;color:#fff;background:#0a3d61}.member-chip small{font-size:9px}.member-chip strong{font-size:22px}.dashboard-grid{grid-template-columns:1.5fr .7fr;padding:0 30px 20px}.payment-card dl{display:grid;grid-template-columns:80px 1fr;font-size:12px}.payment-card dt{color:#637887}.payment-card dd{margin:0;font-weight:700}.qr-placeholder{display:grid;place-items:center;height:150px;margin:15px 0;border:2px dashed #aac5d0;border-radius:12px;color:#637887}.qr-placeholder span{font-size:38px;font-weight:900}.qr-placeholder small{font-size:10px}.calendar-panel,.portal-main>.panel{margin-top:18px;margin-bottom:18px}.availability-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.availability-grid article{display:grid;gap:8px;padding:16px;border-radius:12px;background:#f3f8fa}.availability-grid span{font-size:11px;color:#637887}.availability-grid i{height:5px;border-radius:5px;background:linear-gradient(90deg,#12aeb8 var(--free),#dbe6eb var(--free))}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:12px;border-bottom:1px solid #dbe6eb;text-align:left}.pill{padding:5px 9px;border-radius:99px;background:#e3f6ed;color:#1a7852}.inline-form{display:flex;gap:5px}.inline-form input,.inline-form select{width:85px;padding:6px}.inline-form button{border:0;border-radius:6px;color:#fff;background:#1475dc}.stack-form{max-width:500px}@media(max-width:850px){.portal-header nav a:not(.button){display:none}.public-hero,.auth-shell,.dashboard-grid{grid-template-columns:1fr}.news-grid{grid-template-columns:1fr}.availability-grid{grid-template-columns:1fr 1fr}.dashboard-head{align-items:start;flex-direction:column}.form-grid,.booking-form{grid-template-columns:1fr}.full-width{grid-column:auto}.contact-band{margin:20px;flex-direction:column;align-items:start}.public-hero{padding-top:60px}.portal-main>.panel,.calendar-panel{margin-left:20px;margin-right:20px}}
.password-wrap{position:relative;display:block}.password-wrap input{padding-right:44px!important}.password-eye{position:absolute;right:5px;top:50%;width:34px;height:34px;transform:translateY(-50%);border:0;border-radius:8px;color:#637887;background:transparent;cursor:pointer;font-size:17px}.password-eye:hover,.password-eye.visible{color:#1475dc;background:#e8f2fd}
.forgot-link{justify-self:start;color:#1475dc;font-size:12px;font-weight:800}.calendar-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}.calendar-heading h2{margin-bottom:4px}.calendar-heading p{margin:0;color:#637887;font-size:12px}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px}.calendar-legend span{padding:5px 9px;border-radius:99px;font-size:9px;font-weight:800}.calendar-legend .free{color:#176746;background:#dff4e9}.calendar-legend .partial{color:#916316;background:#fff0ce}.calendar-legend .busy{color:#9f3f38;background:#fde5e3}.calendar-loading{padding:30px;text-align:center;color:#637887}.equipment-calendar{overflow-x:auto;border:1px solid #dbe6eb;border-radius:14px}.calendar-row{display:grid;grid-template-columns:160px repeat(14,minmax(64px,1fr));min-width:1080px;border-bottom:1px solid #dbe6eb}.calendar-row:last-child{border-bottom:0}.calendar-row>strong{position:sticky;left:0;z-index:2;display:flex;align-items:center;padding:10px 12px;border-right:1px solid #dbe6eb;background:#fff;font-size:11px}.calendar-row>span{display:grid;place-items:center;min-height:58px;padding:6px;border-right:1px solid #edf2f4;text-align:center}.calendar-dates{background:#0a3d61;color:#fff}.calendar-dates>strong{color:#fff;background:#0a3d61}.calendar-dates span{min-height:52px}.calendar-dates small,.calendar-cell small{display:block;font-size:8px}.calendar-cell b{font-size:15px}.calendar-cell.free{color:#176746;background:#e7f7ee}.calendar-cell.partial{color:#916316;background:#fff4dc}.calendar-cell.busy{color:#9f3f38;background:#fde9e7}.account-link{margin-left:auto}@media(max-width:850px){.calendar-heading{flex-direction:column}.account-link{margin-left:0}}
.portal-header .brand-mark{width:56px;height:56px;flex:0 0 56px;border:0;border-radius:0;background:transparent url('slike/logo.png') center/contain no-repeat;color:transparent;font-size:0;letter-spacing:0}.portal-header .brand{gap:14px}@media(max-width:640px){.portal-header .brand-mark{width:48px;height:48px;flex-basis:48px}}
.cancel-button{padding:7px 11px;border:1px solid #e8aaa5;border-radius:8px;color:#a33f38;background:#fff;cursor:pointer;font-size:11px;font-weight:800}.cancel-button:hover{color:#fff;background:#b94e47}.cancel-form{margin:0}
.selected-equipment{display:block;margin-top:10px;color:#0a3d61}.hourly-calendar{max-height:680px;overflow:auto;border:1px solid #dbe6eb;border-radius:14px;background:#fff}.hour-row{display:grid;grid-template-columns:72px repeat(7,minmax(88px,1fr));min-width:760px;border-bottom:1px solid #e6eef1}.hour-row>strong{position:sticky;left:0;z-index:2;display:grid;place-items:center;padding:6px;background:#f7fafb;border-right:1px solid #dbe6eb;font-size:10px}.hour-row>span{display:grid;place-items:center;min-height:38px;padding:3px;border-right:1px solid #edf2f4;text-align:center}.hour-header{position:sticky;top:0;z-index:4;color:#fff;background:#0a3d61}.hour-header>strong{z-index:5;color:#fff;background:#0a3d61}.hour-header>span{min-height:50px}.hour-header small,.hour-cell small{display:block;font-size:8px}.hour-cell b{font-size:12px}.hour-cell.free{color:#176746;background:#e7f7ee}.hour-cell.partial{color:#916316;background:#fff4dc}.hour-cell.busy{color:#9f3f38;background:#fde9e7}
.date-time-choice{display:grid;grid-template-columns:minmax(145px,1.4fr) minmax(95px,.8fr);gap:8px}.date-time-choice input,.date-time-choice select{min-height:42px}@media(max-width:480px){.date-time-choice{grid-template-columns:1fr}}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.calendar-toolbar h2{margin:0}.calendar-actions{display:flex;flex-wrap:wrap;gap:7px}.calendar-actions button,.calendar-actions select{min-height:36px;padding:7px 11px;border:1px solid #cadce4;border-radius:8px;color:#0a3d61;background:#fff;cursor:pointer;font-size:11px;font-weight:800}.calendar-actions button:hover{border-color:#1475dc;background:#eaf3fd}.calendar-title{margin:12px 0;text-align:center;color:#0a3d61;font-size:18px;font-weight:800}.month-weekdays,.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);min-width:640px}.month-view{overflow-x:auto;border:1px solid #dbe6eb;border-radius:14px}.month-weekdays{color:#fff;background:#0a3d61}.month-weekdays span{padding:10px;text-align:center;font-size:10px;font-weight:800}.month-day{display:flex;min-height:94px;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:10px;border:0;border-right:1px solid #dbe6eb;border-bottom:1px solid #dbe6eb;cursor:pointer}.month-day b{font-size:16px}.month-day span{font-size:9px;font-weight:800}.month-day.free{color:#176746;background:#e7f7ee}.month-day.partial{color:#916316;background:#fff4dc}.month-day.busy{color:#9f3f38;background:#fde9e7}.month-day.outside{opacity:.38}.month-day:hover{outline:2px solid #1475dc;outline-offset:-2px}.calendar-toolbar .selected-equipment{margin-top:4px}@media(max-width:720px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-actions{width:100%}.calendar-actions button,.calendar-actions select{flex:1}}
