:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f6f3f5;background:#101017;font-synthesis:none;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 80% 46% at 50% -10%,#4d162c 0%,transparent 70%),#101017}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.50;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid #fc96b6;outline-offset:3px}.app-shell{max-width:730px;margin:auto;padding:0 18px 25px;min-height:100vh;display:flex;flex-direction:column}main{flex:1}.topbar{display:flex;align-items:center;gap:11px;border-bottom:1px solid #ffffff17;padding:22px 0 19px}.logo{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:14px;background:linear-gradient(135deg,#ee3c70,#991c49);font-size:21px;letter-spacing:-.08em;font-weight:950;box-shadow:0 4px 21px #bd2b5c38}.brand{display:flex;flex-direction:column;gap:4px}.brand strong{font-size:18px;letter-spacing:.06em}.brand strong span{color:#fa6b96}.brand small{font-size:9px;letter-spacing:.19em;color:#b8a6b0;font-weight:750}.round-button{margin-left:auto;border:1px solid #ffffff29;background:#ffffff0b;color:#f8dfea;border-radius:50%;height:42px;width:42px;font-size:22px}.welcome{margin-top:33px}.section-card{border:1px solid #ffffff20;border-radius:25px;padding:26px 22px;background:#ffffff09;box-shadow:0 25px 70px #0002}.eyebrow{font-size:10px;color:#fa84aa;letter-spacing:.18em;font-weight:850}.welcome h1{font-size:34px;letter-spacing:-.045em;line-height:1.15;margin:15px 0}.muted{color:#beb2bd;line-height:1.55;font-size:15px}.welcome form{display:flex;flex-direction:column;margin-top:26px}.welcome label{font-weight:700;font-size:13px;margin:12px 0 8px}.welcome input{height:51px;background:#1c1c27;border:1px solid #ffffff29;border-radius:12px;color:#fff;padding:0 15px;font-size:16px}.welcome input::placeholder{color:#867d89}.main-btn{height:52px;color:white;background:linear-gradient(100deg,#e93d75,#ab2453);border:0;border-radius:13px;margin-top:21px;font-weight:800;box-shadow:0 8px 30px #d12b5d25}.small-note{font-size:12px;line-height:1.6;color:#9d919d;margin:19px 0 0}.inline-error{min-height:16px;color:#ff9caa;margin:7px 0 0;font-size:12px}.hello{display:flex;align-items:center;justify-content:space-between;padding:29px 0 22px;gap:12px}.hello h1{margin:10px 0 0;font-size:clamp(27px,7vw,38px);letter-spacing:-.05em;line-height:1.1}.refresh-button{flex:none;background:#ffffff0b;border:1px solid #ffffff2a;color:#eeb6c9;border-radius:13px;width:45px;height:45px;font-size:28px}.tabs{display:grid;grid-template-columns:1fr 1fr 1fr;background:#ffffff09;border:1px solid #ffffff14;border-radius:15px;padding:5px;gap:5px;margin-bottom:28px}.tab{min-height:49px;border:0;color:#a69da7;background:transparent;font-size:13px;font-weight:760;border-radius:11px}.tab.active{background:#db376b;color:white;box-shadow:0 4px 20px #d52b5d42}.count{display:inline-grid;place-items:center;background:#ffffff27;border-radius:50%;width:21px;height:21px;margin-left:3px;font-size:11px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:15px}.section-heading h2{font-size:18px;letter-spacing:-.025em;margin:0}.tiny-label{font-size:9px;font-weight:850;color:#c77b95;letter-spacing:.1em;text-align:right}.day-picker{display:flex;gap:9px;overflow-x:auto;padding:1px 1px 13px;scrollbar-width:thin;scrollbar-color:#9f3058 transparent}.day-button{min-width:85px;height:87px;border:1px solid #ffffff23;color:#ded7df;background:#1b1b28;border-radius:17px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px}.day-button.active{background:#db386e;border-color:#f476a0;color:white;box-shadow:0 8px 30px #d3276645}.day-button .weekday{font-weight:750;font-size:12px}.day-button .daynumber{font-size:25px;letter-spacing:-.05em;font-weight:850}.day-button .month{font-size:10px;color:inherit;opacity:.76}.slots{display:grid;gap:11px;margin-top:12px}.slot,.booking{background:linear-gradient(120deg,#22212f,#1a1925);border:1px solid #ffffff17;border-radius:17px;padding:16px;display:flex;align-items:center;gap:12px}.slot-left,.booking-left{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.slot-time,.booking-time{font-size:23px;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.slot-meta,.booking-date{font-size:12px;color:#aaa2b0}.slot-meta::before{content:'●';color:#5bd2a8;margin-right:7px;font-size:8px}.slot-action,.booking-action{padding:12px 14px;min-width:107px;border:0;background:#bd2e60;border-radius:11px;color:white;font-size:12px;font-weight:800;min-height:44px}.slot-action:hover,.booking-action:hover{background:#dc3b73}.booking{display:block;padding:18px}.booking-top{display:flex;align-items:center;justify-content:space-between}.pill{color:#6be3b8;font-size:10px;font-weight:780;border:1px solid #6be3b85b;background:#1f47364a;border-radius:30px;padding:5px 9px}.booking-actions{display:flex;gap:9px;margin-top:17px}.booking-action{flex:1;min-width:0}.booking-action.secondary{background:#292434;border:1px solid #ffffff24}.empty-state{padding:24px 20px;text-align:center;color:#bab1bf;border:1px dashed #ffffff38;border-radius:17px;background:#ffffff07;line-height:1.6}.loading{display:flex;justify-content:center;align-items:center;padding:28px;color:#b4aab7;gap:12px}.spinner{height:20px;width:20px;border:3px solid #ffffff27;border-top-color:#fa6b96;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.change-notice{display:flex;gap:9px;justify-content:space-between;align-items:center;margin:0 0 21px;border:1px solid #d65484a3;background:#61213d69;padding:15px;border-radius:14px}.change-notice strong{font-size:14px}.change-notice p{font-size:12px;line-height:1.4;color:#efb3c6;margin:5px 0 0}.text-button{background:transparent;border:1px solid #eea0bb63;color:#f9c5d7;border-radius:9px;font-size:12px;font-weight:760;padding:9px}.connection-hint{text-align:center;font-size:12px;color:#e6a3b5;line-height:1.5}.connection-hint:empty{display:none}footer{font-weight:750;letter-spacing:.17em;font-size:9px;color:#766b7b;text-align:center;padding-top:35px}footer span{color:#d85c87}#toast{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,150px);max-width:calc(100vw - 30px);width:max-content;border:1px solid #ffffff3d;background:#313043;color:white;padding:13px 20px;border-radius:13px;text-align:center;font-size:13px;line-height:1.45;box-shadow:0 10px 40px #000a;transition:transform .25s ease;pointer-events:none;z-index:3}#toast.show{transform:translate(-50%,0)}#toast.error{background:#60253e}@media(min-width:540px){.app-shell{padding:0 33px 25px}.topbar{padding-top:33px}.welcome{padding:35px}.slot,.booking{padding:20px 24px}.day-button{min-width:103px}.slot-action{min-width:130px}}

/* Privremeno zatvorene udaljene rezervacije */
.remote-notice{display:flex;flex-direction:column;gap:5px;background:rgba(224,138,50,.10);border:1px solid rgba(224,138,50,.42);border-radius:14px;padding:14px 16px;color:inherit;margin:0 0 18px}.remote-notice strong{font-size:14px}.remote-notice span{font-size:13px;opacity:.85;line-height:1.4}.remote-notice[hidden]{display:none}

/* Oglasna ploča; lokalna oznaka nepročitanih. */
.profile-button{margin-left:0}.notification-bell{position:relative;font-size:20px}.bell-count{position:absolute;top:-6px;right:-4px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 4px;background:#f04b84;color:#fff;border:1px solid #101017;border-radius:30px;font-size:10px;font-weight:850}.bell-count[hidden]{display:none}.tabs .tab{padding:6px;font-size:clamp(10px,2.5vw,13px)}.notices-item{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.notices-item.unread{border-color:#e14b88a0;background:linear-gradient(120deg,#412038,#1c1b29)}.notices-item h3{font-size:16px;line-height:1.35;margin:0}.notices-item p{font-size:14px;white-space:pre-wrap;line-height:1.55;color:#d3c5d1;margin:0}.notice-date{color:#bfa8b7;font-size:11px}.unread-tag{border-radius:30px;color:#ffa5c0;font-weight:850;font-size:11px}.quiet-action{border:1px solid #ffffff39;color:#f1c2d3;background:#ffffff0d;padding:11px 13px;border-radius:12px;font-size:12px;margin-top:14px;font-weight:700;width:100%}.quiet-action[hidden]{display:none}.round-button[hidden]{display:none}.tab .count[hidden]{display:none}

/* Ispravljeni prikazi. Hidden atribut mora nadjacati display:flex/grid. */
[hidden] { display: none !important; }
.day-button { height: 105px; }
.day-slots-count { color: #f8c4d7; font-size: 10px; font-weight: 700; margin-top: 1px; }
.slots-heading { font-weight: 800; color: #faacc6; font-size: 13px; padding: 5px 0 3px; }
