:root{--bg:#f4f6f3;--panel:#fff;--ink:#18312d;--muted:#71807c;--line:#dde5e1;--brand:#123c35;--brand2:#1f6a5d;--accent:#d8a93f;--danger:#a63d40;--shadow:0 18px 50px rgba(18,60,53,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#f7f8f5,#eef3ef)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.center-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(460px,100%);background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}.setup-card{width:min(620px,100%)}.brand-mark{width:58px;height:58px;border-radius:18px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:.06em;margin-bottom:22px}.brand-mark.small{width:42px;height:42px;border-radius:13px;margin:0}.eyebrow{font-size:.74rem;letter-spacing:.16em;font-weight:800;color:var(--brand2)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.1;margin:8px 0 12px}h2{margin:6px 0 0}h3{margin:4px 0 0}.muted{color:var(--muted)}.stack-form,.form-grid{display:grid;gap:16px}.stack-form{margin-top:26px}label{display:grid;gap:7px;font-size:.86rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #ccd8d3;border-radius:12px;background:#fff;color:var(--ink);padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(31,106,93,.12)}textarea{resize:vertical}.btn{border:0;border-radius:12px;padding:11px 15px;font-weight:800}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:#0c302a}.btn-secondary{background:#e9efec;color:var(--ink)}.btn-ghost{background:transparent;color:#dce8e4;border:1px solid rgba(255,255,255,.18)}.btn-danger{background:#f8e7e7;color:var(--danger)}.btn-full{width:100%}.form-error{min-height:20px;margin:0;color:var(--danger);font-size:.88rem}.warning{padding:12px 14px;border-radius:12px;background:#fff4d6;color:#70550e}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--brand);color:#fff;padding:24px 18px;display:flex;flex-direction:column;justify-content:space-between}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand span{font-size:.8rem;color:#a9c2bc}.nav-list{display:grid;gap:8px}.nav-item{border:0;border-radius:12px;padding:12px 14px;text-align:left;background:transparent;color:#bad0cb;font-weight:750}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.12);color:#fff}.sidebar-footer{display:grid;gap:12px}.sidebar-footer a{color:#dce8e4;font-size:.88rem;text-decoration:none;padding:0 5px}.main-column{min-width:0;padding:0 32px 42px}.topbar{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-actions{display:flex;gap:10px}.view-panel{animation:fade .18s ease}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 28px rgba(18,60,53,.05)}.stat-card{padding:20px}.stat-card span{display:block;color:var(--muted);font-size:.84rem}.stat-card strong{display:block;margin-top:9px;font-size:1.65rem}.stat-card.attention{background:#fffaf0}.content-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:16px;margin-top:16px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.upcoming-list{display:grid;gap:10px}.upcoming-item{display:grid;grid-template-columns:60px 1fr auto;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px}.date-box{border-radius:12px;background:#edf4f1;text-align:center;padding:8px}.date-box strong,.date-box span{display:block}.date-box span{font-size:.68rem;text-transform:uppercase;color:var(--muted)}.upcoming-item p{margin:3px 0 0;color:var(--muted);font-size:.83rem}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.73rem;font-weight:800}.status-pending{background:#fff1c7;color:#755200}.status-confirmed{background:#dff1ea;color:#155548}.status-cancelled{background:#eee;color:#666}.status-owner_block{background:#e8e2f5;color:#554179}.payment-summary{display:grid;gap:12px}.money-row{display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.calendar-panel{max-width:1100px}.calendar-toolbar{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:14px}.calendar-toolbar h2,.calendar-toolbar h3{min-width:220px;text-align:center}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:1.35rem}.calendar-legend,.public-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:18px;font-size:.82rem;color:var(--muted)}.dot{display:inline-block;width:9px;height:9px;border-radius:999px;margin-right:5px}.dot.pending{background:#d9aa33}.dot.confirmed{background:#21705f}.dot.owner{background:#74609a}.dot.available{background:#dfeee8}.dot.unavailable{background:#d6a438}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{text-align:center;padding:9px;color:var(--muted);font-size:.76rem;font-weight:800}.calendar-grid{border-left:1px solid var(--line);border-top:1px solid var(--line)}.calendar-day{min-height:112px;padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;position:relative}.calendar-day.outside{background:#f6f7f5;color:#aab3af}.calendar-day.today .day-number{background:var(--brand);color:#fff}.day-number{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-size:.82rem;font-weight:800}.calendar-event{margin-top:6px;padding:5px 7px;border-radius:7px;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.pending{background:#fff1c7;color:#755200}.calendar-event.confirmed{background:#dff1ea;color:#155548}.calendar-event.owner_block{background:#e8e2f5;color:#554179}.filters{display:flex;gap:10px;margin-bottom:16px}.filters input{flex:1}.filters select{max-width:220px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}td{font-size:.88rem}.guest-cell strong,.guest-cell span{display:block}.guest-cell span{color:var(--muted);margin-top:4px;font-size:.8rem}.table-action{border:0;background:#edf2ef;border-radius:9px;padding:7px 10px;font-weight:800;color:var(--brand)}.empty-state{text-align:center;color:var(--muted);padding:30px}.modal{width:min(820px,calc(100% - 28px));border:0;border-radius:22px;padding:0;box-shadow:0 28px 90px rgba(0,0,0,.25)}.modal::backdrop{background:rgba(9,24,21,.58);backdrop-filter:blur(3px)}.modal form{padding:24px}.modal-head,.modal-actions{display:flex;align-items:center;gap:12px}.modal-head{justify-content:space-between;margin-bottom:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.balance-preview{align-self:end;border:1px dashed #bdcbc5;border-radius:12px;padding:10px 12px}.balance-preview span,.balance-preview strong{display:block}.balance-preview span{font-size:.75rem;color:var(--muted)}.modal-actions{margin-top:18px}.action-spacer{flex:1}.toast{position:fixed;right:22px;bottom:22px;z-index:20;transform:translateY(20px);opacity:0;pointer-events:none;background:#173d36;color:#fff;border-radius:12px;padding:12px 16px;box-shadow:var(--shadow);transition:.2s}.toast.show{transform:translateY(0);opacity:1}.toast.error{background:#8e3437}.loading-bar{height:3px;background:#dae5e1;overflow:hidden;margin:0 -32px 18px}.loading-bar span{display:block;width:35%;height:100%;background:var(--brand2);animation:loading 1s infinite ease-in-out}.public-calendar-page{background:linear-gradient(160deg,#eff5f2,#f9f7ef)}.public-wrap{width:min(980px,calc(100% - 28px));margin:0 auto;padding:56px 0}.public-header{text-align:center;max-width:650px;margin:0 auto 28px}.public-header p{color:var(--muted)}.public-calendar-card{padding:24px}.calendar-grid.public .calendar-day{min-height:86px}.calendar-grid.public .calendar-day.blocked{background:#fff5dc}.calendar-grid.public .calendar-day.free{background:#f4faf7}.availability-label{margin-top:7px;font-size:.7rem;font-weight:800;color:#7a5b12}.free .availability-label{color:#2f6f60}@keyframes loading{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:14px;display:block}.sidebar-brand{padding-bottom:12px}.nav-list{display:flex;overflow:auto}.nav-item{white-space:nowrap}.sidebar-footer{display:none}.main-column{padding:0 14px 30px}.topbar{align-items:flex-start;padding:18px 0;flex-direction:column}.topbar-actions{width:100%}.topbar-actions .btn{flex:1}.stats-grid{grid-template-columns:1fr 1fr}.calendar-day{min-height:78px;padding:5px}.calendar-event{font-size:0;width:8px;height:8px;border-radius:50%;padding:0}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.filters{flex-direction:column}.filters select{max-width:none}.modal form{padding:18px}.public-wrap{padding:28px 0}.calendar-grid.public .calendar-day{min-height:65px}.loading-bar{margin-left:-14px;margin-right:-14px}}@media(max-width:460px){.stats-grid{grid-template-columns:1fr}.auth-card{padding:24px}.calendar-weekdays span{font-size:.65rem;padding:6px}.day-number{width:23px;height:23px}.calendar-day{min-height:66px}.calendar-toolbar h2,.calendar-toolbar h3{min-width:150px;font-size:1rem}}

/* v2: javna objava termina i dan čišćenja */
.option-card{display:flex!important;align-items:flex-start;gap:14px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#f8faf8;cursor:pointer}.option-card:hover{border-color:#b9cbc4;background:#f3f7f4}.option-card input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--brand2);flex:0 0 auto}.option-card span{display:grid;gap:4px}.option-card strong{font-size:.96rem;color:var(--ink)}.option-card small{font-size:.8rem;line-height:1.45;color:var(--muted)}
.public-toggle{border:1px solid #d8dfdc;border-radius:999px;padding:7px 11px;background:#f3f5f4;color:#6a7773;font-size:.77rem;font-weight:800;white-space:nowrap}.public-toggle:hover{border-color:#a8beb6}.public-toggle.active{background:#e5f4ed;border-color:#9ac8b6;color:#176447}.public-toggle.active::before{content:'● ';font-size:.72em}.mini-flag{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:999px;font-size:.68rem;font-weight:800;vertical-align:1px}.mini-flag.public{background:#e5f4ed;color:#176447}.mini-flag.cleaning{background:#fff1d6;color:#8a5a00}
.dot.cleaning{background:#d8a93f}.calendar-event.cleaning{background:#fff1d6;color:#835700;border-color:#e7c36d}.calendar-event.cleaning:hover{background:#f8e5bc}
.public-calendar-page .calendar-day.reserved,.public-calendar-page .calendar-day.blocked{background:#f8e3df}.public-calendar-page .calendar-day.reserved .availability-label,.public-calendar-page .calendar-day.blocked .availability-label{color:#9a3e35}.public-calendar-page .calendar-day.cleaning{background:#fff2d5}.public-calendar-page .calendar-day.cleaning .availability-label{color:#8a5a00}.public-calendar-page .calendar-day.free .availability-label{color:#237357}.public-legend{flex-wrap:wrap}
@media(max-width:900px){.public-toggle{padding:6px 9px}.option-card{padding:13px}}
.public-toggle.disabled{display:inline-block;cursor:default;opacity:.72}.option-card input:disabled+span{opacity:.55}
