:root{color-scheme:light dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;--paper:light-dark(#fff,#242536);--bg:light-dark(#f5f5fa,#191a24);--ink:light-dark(#272936,#eef0f8);--muted:light-dark(#667084,#b5b8cc);--line:light-dark(#e4e5ef,#3c3e53);--primary:light-dark(#5f53d8,#a79dff);--on-primary:light-dark(#fff,#211b3e);--tint:light-dark(#eeebff,#363052);--blue:light-dark(#2365c5,#a4c3ff);--blue-bg:light-dark(#eef4ff,#203351);--orange:light-dark(#b84d00,#ffb35c);--orange-bg:light-dark(#fff0d9,#49301d);--red:light-dark(#c8202c,#ff9ba5);--red-bg:light-dark(#fff0f1,#49242a);--neutral:light-dark(#f1f2f7,#303244);color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,input,select,summary{min-height:44px}button{border:0}button,input,select,summary,a{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:24px;line-height:1.25;letter-spacing:-.5px;margin-bottom:8px}h2{font-size:18px;line-height:1.35;margin-bottom:5px}h3{font-size:16px}p{overflow-wrap:anywhere}svg{flex-shrink:0}.small,small{font-size:13px}.muted{color:var(--muted)}.hide,[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.topbar{position:sticky;top:0;z-index:15;background:var(--paper);border-bottom:1px solid var(--line)}.topinner,.header-title-row{max-width:960px;margin:auto;padding-left:16px;padding-right:16px}.topinner{display:flex;align-items:center;justify-content:space-between;min-height:82px;padding-top:14px;padding-bottom:8px}.app-logo,.auth-logo{width:56px;height:56px;display:block;border-radius:14px}.header-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:7px;padding-bottom:13px}.header-title-row>strong{font-size:20px}.header-clock{display:flex;align-items:baseline;gap:9px;white-space:nowrap}.header-clock>span:first-child{font-size:18px;color:var(--muted);font-weight:650}.header-clock time{font-size:23px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.connection-warning{font-size:12px;color:var(--orange)}.account-menu{position:relative}.account-menu>summary{list-style:none;display:block;cursor:pointer;border-radius:50%}.account-menu>summary::-webkit-details-marker{display:none}.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--tint);color:var(--primary);font-size:14px;font-weight:750}.account-popover{position:absolute;right:0;top:54px;width:min(340px,calc(100vw - 32px));max-height:70dvh;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--paper);box-shadow:0 12px 45px #0002}.header-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}#account-label{order:-1;font-size:14px;font-weight:650}.clock-info{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.clock-info summary{font-size:13px;cursor:pointer;display:flex;align-items:center}.clock-info p,.clock-reading{font-size:12px;color:var(--muted);margin:6px 0}.clock-info h2{font-size:14px}.clock-panel{margin-top:8px}#demo-mode-label{margin:12px 0 0}.roles{display:flex}
main{max-width:960px;margin:auto;padding:22px 16px 108px}.app-screen{outline:none}.intro{margin:0 0 20px}.intro p{font-size:13px;color:var(--muted);margin:0}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:16px;box-shadow:0 3px 14px #00000003}.section-head{padding:18px;border-bottom:1px solid var(--line)}.section-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.section-head .cancellation-rule{color:var(--orange);background:var(--orange-bg);border-radius:10px;padding:12px;line-height:1.5}.primary,.outline{min-height:44px;border-radius:11px;padding:10px 14px;font-size:14px;font-weight:650;white-space:normal}.primary{background:var(--primary);color:var(--on-primary)}.outline{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.primary:disabled,.outline:disabled{background:var(--neutral);color:var(--muted);opacity:1}.wide{width:100%}.danger-button,[data-action=cancel],[data-action=noShow],[data-action=scheduleNoShow]{color:var(--red);background:var(--red-bg);border-color:transparent}.danger-button:disabled,[data-action=cancel]:disabled,[data-action=noShow]:disabled{color:var(--muted);background:var(--neutral)}
.next,.package{padding:20px}.eyebrow{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;margin-bottom:14px}.next-content{display:flex;align-items:center;gap:16px}.date-tile{width:68px;flex-shrink:0;min-height:76px;padding:8px;background:var(--blue-bg);color:var(--blue);border-radius:14px;text-align:center}.date-tile strong{display:block;font-size:29px;line-height:1.2}.date-tile span{font-size:12px}.next-time{font-size:30px;font-weight:750;line-height:1.2;letter-spacing:-.8px}.next-note{font-size:13px;color:var(--muted);margin:14px 0 0}.next .tag{margin-top:14px;display:inline-block}.package-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.package-name{font-size:18px;font-weight:700}.period{font-size:12px;color:var(--muted);margin-top:5px}.package-status,.tag{display:inline-flex;align-items:center;border-radius:7px;padding:4px 8px;font-size:12px;font-weight:650;color:var(--blue);background:var(--blue-bg)}.package-status{white-space:normal;max-width:116px}.package-status.warning,.package-status.expired,.tag.warning,.tag.expired{color:var(--orange);background:var(--orange-bg)}.package-status.frozen{color:var(--primary);background:var(--tint)}.package-status.used,.free-tag{background:var(--neutral);color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.metric strong{display:block;font-size:27px;line-height:1.2;font-weight:750}.metric strong>span{font-size:14px;color:var(--muted)}.metric>span{font-size:12px;color:var(--muted)}.progress{height:7px;border-radius:7px;background:var(--neutral);margin-top:20px;overflow:hidden}.progress span{height:100%;display:block;background:var(--primary)}.package-foot{font-size:13px;color:var(--muted);margin:12px 0 0}.package-foot.warning{color:var(--orange);font-weight:650}.notice{border-radius:14px;background:var(--orange-bg);color:var(--orange);padding:15px 17px;margin-bottom:16px;font-size:13px;border-left:3px solid var(--orange)}.notice p{margin:4px 0 0}.notice.frozen{background:var(--tint);color:var(--primary);border-color:var(--primary)}
.booking,.slot,.training-row,.coach-row{padding:17px 18px;border-bottom:1px solid var(--line)}.booking:last-child,.slot:last-child,.training-row:last-child,.coach-row:last-child{border-bottom:0}.booking{border-left:3px solid var(--blue)}.booking-line,.booking-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.booking-meta{margin-top:12px}.booking-day,.slot-date{font-size:14px;font-weight:650}.booking-time{font-size:23px;font-weight:750}.booking-description,.slot-time,.coach-slot-time{font-size:13px;color:var(--muted)}.cutoff,.slot-reason{font-size:13px;color:var(--orange);margin:9px 0 0}.count-badge{border-radius:6px;padding:2px 7px;background:var(--neutral);color:var(--muted);font-size:12px;margin-left:6px}.slot{display:flex;align-items:center;justify-content:space-between;gap:12px}.slot.chosen{background:var(--tint);border-left:3px solid var(--primary)}.slot .primary{font-size:12px;flex-shrink:0;max-width:140px}.empty{padding:22px 18px;color:var(--muted);font-size:14px}.booking-selection{padding:16px 18px;background:var(--bg);border-bottom:1px solid var(--line)}.booking-selection p{font-size:13px;margin-bottom:8px}.booking-selection>p:first-child{font-weight:650}.selected-booking{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.selected-booking strong{font-size:13px}.selected-booking .outline{font-size:12px}.history-list{padding-left:18px;font-size:13px}.history-list li{margin-bottom:10px}.history-list:empty{display:none}.selection-actions{position:sticky;bottom:90px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px}.sound-actions,.coach-actions,.client-entry-actions{display:flex;gap:8px;flex-wrap:wrap}.sound-actions button{flex:1}.coach-actions button{flex:1}.training-row p{font-size:13px;margin:5px 0}.training-row.no-show{border-left:3px solid var(--red)}.training-row.cancelled{border-left:3px solid var(--red);background:var(--red-bg)}.training-row.cancelled p{color:var(--red)}.training-row.completed{border-left:3px solid var(--muted)}
.schedule-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.schedule-heading h2{font-size:22px}.schedule-heading p{font-size:13px;text-transform:capitalize}.day-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;margin-top:16px}.day-navigation button{font-size:24px;padding:4px}.day-navigation input{text-align:center}.coach-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.stat{box-shadow:none;border:0;border-radius:0;background:transparent;margin:0;padding:0}.stat strong{display:block;font-size:20px}.stat span{font-size:12px;color:var(--muted)}.coach-row{border-left:3px solid var(--blue)}.coach-row.free-row{border-left-color:var(--line)}.coach-row.completed-row{border-left-color:var(--muted)}.coach-row.no-show-row{border-left-color:var(--red)}.coach-row-top{display:flex;align-items:start;justify-content:space-between;gap:12px}.coach-client{font-size:15px;font-weight:700}.coach-hours{font-size:21px;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}.coach-slot-time{margin-top:3px}.coach-client-link{background:transparent;text-align:left;padding:0;color:var(--ink);min-height:44px}.coach-client-link span{display:block}.pending-panel{border-color:var(--orange)}.pending-panel .section-head h2{color:var(--orange)}
.tool-fold{margin:16px 0;border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden}.tool-fold>summary{padding:16px 18px;font-weight:650;font-size:14px;cursor:pointer}.tool-fold>.card{margin:0;border:0;border-radius:0;box-shadow:none}.tool-fold[open]>summary{border-bottom:1px solid var(--line)}.package-tools-body,.add-form,.client-entry{padding:18px}.package-tools-body p{font-size:13px}.package-tools-body .field,.add-form .field{margin-bottom:15px}.add-form .primary,#open-coach-calendar{width:100%}.client-mini{padding:20px;margin-top:16px}.client-mini h2{font-size:19px}.client-mini p{margin-bottom:8px;font-size:13px}.selected-client-note{font-size:22px;font-weight:750;margin:16px 0 0}.demo-client-picker{display:none}#back-to-clients{margin-bottom:2px}.client-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.client-entry-note{font-size:13px;margin-top:15px}.client-entry-error{color:var(--red);font-size:14px}.client-entry-error:empty{display:none}.contact-line{overflow-wrap:anywhere}.clients-table{width:100%;border-collapse:collapse;font-size:13px}.clients-table caption{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.clients-table th{font-size:12px;color:var(--muted);text-align:left;font-weight:650;padding:12px 16px;border-bottom:1px solid var(--line)}.clients-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}.clients-table tr:last-child td{border:0}.clients-table td .muted{display:block;font-size:12px;margin-top:3px}.clients-table .client-compact-name{color:var(--ink);font-size:15px;font-weight:700;background:none;text-align:left;padding:0;min-height:44px}.clients-table td .tag{margin-bottom:4px}
label{display:block;font-size:13px;font-weight:650;margin-bottom:6px}input,select{width:100%;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink)}input[type=date],input[type=time]{font-variant-numeric:tabular-nums}input:disabled{opacity:.65}.check-label{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:13px;margin:15px 0}.check-label input{width:20px;min-height:20px;height:20px;margin-top:2px;flex-shrink:0}.notification-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.sound-status{padding:12px 18px;font-size:12px;background:var(--bg);color:var(--muted);margin:0;border-bottom:1px solid var(--line)}.notification-list{list-style:none;padding:0;margin:0}.notification-item{padding:16px 18px;border-bottom:1px solid var(--line);border-left:3px solid var(--blue)}.notification-item:last-child{border-bottom:0}.notification-item p{font-size:13px;margin:9px 0 0}.notification-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.notification-item.cancellation,.notification-item.noShow{border-left-color:var(--red)}.notification-item.cancellation .tag,.notification-item.noShow .tag{background:var(--red-bg);color:var(--red)}.notification-item.warning,.notification-item.expired{border-left-color:var(--orange)}.notification-item.warning .tag,.notification-item.expired .tag{background:var(--orange-bg);color:var(--orange)}.notification-item.freeze,.notification-item.resume{border-left-color:var(--primary)}.notification-item.completion{border-left-color:var(--muted)}.notification-empty{padding:20px 18px;color:var(--muted);font-size:14px}
.bottom-navigation{position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);z-index:20;padding:7px 8px calc(7px + env(safe-area-inset-bottom))}.nav-items{display:flex;max-width:600px;margin:auto;gap:4px}.nav-items button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0;padding:9px 3px;background:transparent;color:var(--muted);border-radius:12px;font-size:11px;font-weight:650}.nav-items button[aria-current=page]{color:var(--primary);background:var(--tint)}.storage-panel{max-width:928px;margin:10px auto 0;padding:9px 12px;background:var(--neutral);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.storage-panel p{margin:0;font-size:12px;color:var(--muted)}.storage-panel.error{background:var(--red-bg);border:1px solid var(--red)}.storage-panel.error p{color:var(--red)}.toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);z-index:40;max-width:min(560px,calc(100% - 32px));width:max-content;background:var(--ink);color:var(--paper);padding:13px 17px;border-radius:12px;font-size:14px;box-shadow:0 6px 30px #0003}.toast.error{background:var(--red-bg);color:var(--red);border:1px solid var(--red)}.auth-panel{max-width:480px;padding:0 18px;margin:40px auto}.auth-card{padding:25px}.auth-logo{margin-bottom:20px}.auth-card form{display:grid;gap:14px}.auth-card .primary{width:100%}.auth-card .outline{margin-top:12px}.auth-card h1{font-size:24px}#auth-password-note:empty{display:none}.demo-footer{font-size:12px;color:var(--muted)}
dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:20px;width:calc(100% - 24px);max-width:460px;max-height:calc(100dvh - 32px);overflow:auto;padding:22px;box-shadow:0 14px 60px #0003}dialog::backdrop{background:#10112480}dialog h2{font-size:21px;margin-bottom:12px}dialog p{color:var(--muted);font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:22px}.dialog-actions button{flex:1}.coach-calendar-dialog{max-width:540px}.calendar-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center;margin:16px 0 12px}.calendar-navigation h3{text-align:center;text-transform:capitalize;margin:0}.calendar-navigation button{padding:4px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{text-align:center;color:var(--muted);font-size:12px;margin-bottom:6px}.calendar-day{min-width:0;min-height:44px;border-radius:9px;padding:6px 0;background:var(--paper);border:1px solid var(--line);color:var(--ink);font-weight:650}.calendar-day[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.calendar-day:disabled{background:var(--neutral);color:var(--muted);opacity:.55}.calendar-day.calendar-conflict{background:var(--red-bg);color:var(--red);opacity:1}.calendar-selection{font-size:13px;padding-left:18px}.coach-calendar-dialog .dialog-actions{position:sticky;bottom:-22px;margin-top:14px;padding:14px 0;background:var(--paper);border-top:1px solid var(--line)}.package-tools-body details>summary{font-weight:650;cursor:pointer;padding:12px 0}.notification-item .notification-icon{color:inherit}
@media(max-width:980px){.storage-panel{margin-left:16px;margin-right:16px}}@media(max-width:760px){.client-entry-grid{grid-template-columns:1fr}.clients-table thead{display:none}.clients-table,.clients-table tbody,.clients-table tr{display:block}.clients-table tr{padding:16px 18px;position:relative;border-bottom:1px solid var(--line)}.clients-table tr:last-child{border:0}.clients-table td{padding:0;border:0;display:block}.clients-table td[data-label=Kontakt],.clients-table td[data-label=Paket] .muted,.clients-table td[data-label=Treninzi] .muted,.clients-table td[data-label=Sljedeći\ termin]{display:none}.clients-table td[data-label=Paket]{position:absolute;right:18px;top:18px;max-width:125px}.clients-table td[data-label=Klijent]{padding-right:115px}.clients-table td[data-label=Treninzi]{color:var(--muted);font-size:12px;margin-top:3px}.clients-table td[data-label=Pregled]{position:absolute;right:18px;bottom:16px}.clients-table td[data-label=Pregled] .outline{min-height:36px;font-size:12px;padding:7px 10px}.clients-table tr{padding-bottom:20px;min-height:115px}.notification-head .sound-actions{width:100%}.slot .primary{max-width:115px}.selected-booking{flex-wrap:wrap}.calendar-days{gap:3px}.coach-actions button{padding:10px;font-size:13px}.header-title-row{gap:8px}}
@media(min-width:761px){#client-screen-home{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}#client-screen-home>.card{margin:0}#client-screen-home>#notice,#client-home-reserve{grid-column:1/-1}#coach-screen-clients>#coach-profile{max-width:720px;margin:0 auto}.bottom-navigation{padding-bottom:7px}.storage-panel{margin-top:12px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s ease,color .12s ease}}
.notification-icon{margin-right:5px;vertical-align:-2px}.tag.no-show-tag{color:var(--red);background:var(--red-bg)}.client-mini p:nth-of-type(3){font-size:17px;font-weight:650}
.notification-item.completion .tag{background:var(--neutral);color:var(--muted)}

.schedule-date-picker{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:8px;font-size:14px;font-weight:650;text-align:center}.schedule-date-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.schedule-date-picker:focus-within{outline:2px solid var(--primary);outline-offset:2px}.coach-row-top>div{min-width:0}.coach-row-top>.outline{flex-shrink:0}

.nav-items button{position:relative}.nav-items .notification-count{position:absolute;top:2px;left:calc(50% + 5px);min-width:19px;height:19px;padding:0 5px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#d32030;color:#fff;border:2px solid var(--paper);font-size:10px;font-weight:750;line-height:1;white-space:nowrap}.nav-items .notification-count[hidden]{display:none}
