@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;600;700;800&display=swap";:root{color-scheme:light;font-family:SF Pro Display,SF Pro Text,Avenir Next,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100dvh;color:#10233a;overflow:hidden;overscroll-behavior:none;background:transparent}html,#root{height:100%;overflow:hidden}html{background:#f0f6fc}body:before{content:"";position:fixed;top:0;left:0;right:0;height:calc(env(safe-area-inset-top) + 56px);pointer-events:none;z-index:0;background:linear-gradient(180deg,#0a84ff38,#0a84ff14 52%,#0a84ff00),radial-gradient(140% 120% at 50% 0%,#52aaff3d,#52aaff00 72%)}.app-shell{position:relative;z-index:1;min-height:calc(100dvh + env(safe-area-inset-top));height:calc(100dvh + env(safe-area-inset-top));background:radial-gradient(1100px 550px at 15% -5%,rgba(10,132,255,.13),transparent 70%),radial-gradient(900px 500px at 110% 0%,rgba(40,199,111,.1),transparent 65%),linear-gradient(180deg,#f8fbff,#f0f6fc);background-repeat:no-repeat,no-repeat,no-repeat;background-size:1100px 550px,900px 500px,100% 100%;display:flex;justify-content:center;padding:calc(1rem + env(safe-area-inset-top)) .85rem calc(1rem + env(safe-area-inset-bottom));overflow:hidden}.auth-loading-shell{align-items:center}.auth-loading-spinner{width:44px;height:44px;border-radius:999px;border:4px solid rgba(16,35,58,.14);border-top-color:#0a84ff;animation:auth-spinner-rotate .7s linear infinite}@media (display-mode: standalone){html,body,#root,.app-shell{height:calc(100% + 30px);min-height:100%}.app-shell{padding:env(safe-area-inset-top) .85rem calc(2.5rem + env(safe-area-inset-bottom))}}.card{width:min(760px,100%);border-radius:5px;padding:1.2rem;overflow-x:clip}.ios-surface{background:#ffffffe0;box-shadow:0 28px 56px #10233a1f,0 6px 12px #10233a0f,inset 0 1px #ffffffbf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:card-enter .26s ease-out}@keyframes card-enter{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}h1{margin:0;font-family:Montserrat,SF Pro Display,Avenir Next,Segoe UI,sans-serif;font-weight:300;letter-spacing:-.02em}.app-card{display:flex;flex-direction:column;gap:1rem;max-height:100%;overflow:hidden}.auth-card{max-width:520px}.app-header p{margin:.15rem 0 0;color:#6f8097;font-size:.94rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.app-title-row{display:flex;align-items:center;gap:.75rem}.app-brand-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(155deg,#2d8fff,#07f 60%,#0059d0)}.header-menu{position:relative;margin-left:auto}.menu-trigger{min-width:2.25rem;min-height:2.25rem;padding:.45rem}.menu-popover{position:absolute;right:0;top:calc(100% + .35rem);min-width:10.5rem;border:1px solid #dbe5f0;border-radius:12px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 24px #10233a29;padding:.35rem;z-index:20;transform-origin:top right;animation:menu-popover-enter .18s cubic-bezier(.2,.8,.2,1)}.menu-item{width:100%;border:none;border-radius:10px;background:transparent;color:#35557d;text-align:left;padding:.58rem .62rem;display:inline-flex;align-items:center;gap:.42rem;font-weight:620;transition:background-color .16s ease,transform .16s ease}.menu-item:hover{background:#f4f8fd;transform:translate(2px)}.tab-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;background:#f4f8fd;border:1px solid #dbe5f0;border-radius:14px;padding:.28rem}.tab-button{display:flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:10px;padding:.6rem .7rem;color:#4f6381;background:transparent;font-weight:650;transition:all .18s ease}.tab-button.active{color:#103153;background:#fff;box-shadow:0 5px 10px #10233a1f}.log-form,.month-view{display:flex;flex-direction:column;gap:.9rem}.content-pane{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}label{display:flex;flex-direction:column;gap:.32rem;font-weight:600;color:#17355a;min-width:0}.field-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.84rem;color:#637892}select,input,textarea,button{font:inherit}select,input,textarea{width:100%;max-width:100%;min-width:0;border:1px solid #dbe5f0;border-radius:13px;padding:.7rem .74rem;background:#fff;color:#10233a;transition:border-color .18s ease,box-shadow .18s ease}select:focus,input:focus,textarea:focus{outline:none;border-color:#0a84ff8c;box-shadow:0 0 0 4px #0a84ff24}input[type=date],input[type=month]{display:block;width:100%;max-width:100%;min-width:0;inline-size:100%;min-inline-size:0;overflow:hidden;text-overflow:ellipsis}input[type=date]::-webkit-date-and-time-value,input[type=date]::-webkit-datetime-edit,input[type=month]::-webkit-date-and-time-value,input[type=month]::-webkit-datetime-edit{min-width:0;max-width:100%}@supports (-webkit-touch-callout: none){input[type=date],input[type=month]{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.2rem}input[type=date]::-webkit-datetime-edit,input[type=month]::-webkit-datetime-edit{display:block;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}input[type=date]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator{position:absolute;right:.7rem;opacity:.8}}textarea{resize:vertical}.estimate-box,.summary-box{border:1px solid #dbe5f0;background:linear-gradient(180deg,#fff,#f7fbff);border-radius:14px;padding:.78rem}.estimate-box{display:flex;justify-content:space-between;align-items:center}.estimate-box span{display:inline-flex;align-items:center;gap:.35rem;color:#5d7592}.summary-box{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.metric-card{background:#fff;border:1px solid #e3ebf5;border-radius:12px;padding:.65rem}.metric-card span{display:inline-flex;align-items:center;gap:.28rem;color:#67809d;font-size:.82rem}.metric-card strong{display:block;margin-top:.18rem;font-size:1.1rem;letter-spacing:-.01em}.primary-button,.danger-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:12px;padding:.72rem .94rem;font-weight:680;transition:transform .14s ease,box-shadow .18s ease,opacity .16s ease}.primary-button:active,.danger-button:active,.ghost-button:active{transform:translateY(1px) scale(.995)}.primary-button{border:none;background:linear-gradient(160deg,#0a84ff,#006adc 72%);color:#fff}.primary-button:disabled{opacity:.65}.booking-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.62rem}.booking-item{border:1px solid #dbe5f0;border-radius:14px;background:#fff;padding:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;box-shadow:0 6px 16px #10233a12}.booking-item-editable{flex-direction:column;align-items:stretch}.booking-open-button{border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:0;text-align:left;width:100%;color:inherit}.booking-item p{margin:.2rem 0 0;color:#6f8097}.booking-metrics{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:.04rem}.booking-metrics span{color:#5e7693}.booking-arrow{color:#9bb0c9}.booking-edit-panel{display:flex;flex-direction:column;gap:.62rem;border-top:1px solid #ebf1f8;padding-top:.7rem}.booking-edit-actions{display:flex;flex-wrap:wrap;gap:.48rem}.danger-button{border:none;background:linear-gradient(160deg,#ff6b6b,#e54747 75%);color:#fff}.ghost-button{border:1px solid #dbe5f0;background:#fff;color:#35557d}.auth-button{width:100%}.auth-logout{white-space:nowrap}.error-text{color:#b4232d;margin:0;text-align:center}.form-message{margin:0;color:#19703f;font-weight:600}.toast-region{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + .95rem);z-index:95;display:flex;justify-content:center;padding:0 .8rem;pointer-events:none}.toast{pointer-events:auto;width:min(30rem,100%);border-radius:14px;border:1px solid rgba(219,229,240,.85);background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#1c3554;font-size:.9rem;line-height:1.35;box-shadow:0 16px 30px #10233a2e,0 4px 10px #10233a1a;padding:.66rem .72rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;transform-origin:center bottom;will-change:opacity,transform;animation:toast-enter .28s cubic-bezier(.2,.8,.2,1)}.toast-success{border-color:#359456bf;background:linear-gradient(160deg,#2db36a,#1f9658 72%);color:#fff}.toast-error{border-color:#c53434c7;background:linear-gradient(160deg,#e15a5a,#c93e3e 72%);color:#fff}.toast-close{border:none;border-radius:9px;background:transparent;color:#5e7693;display:inline-flex;align-items:center;justify-content:center;padding:.2rem}.toast-success .toast-close,.toast-error .toast-close{color:#ffffffeb}.toast-close:hover{background:#dbe5f099}.toast-success .toast-close:hover,.toast-error .toast-close:hover{background:#ffffff38}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#06101d57;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:modal-backdrop-enter .18s ease-out}.confirm-modal{width:min(24rem,100%);border-radius:16px;border:1px solid #dbe5f0;background:#fffffff5;box-shadow:0 20px 36px #10233a33,0 6px 14px #10233a1f;padding:.95rem;display:grid;gap:.45rem;transform-origin:50% 35%;animation:confirm-modal-enter .22s cubic-bezier(.16,1,.3,1)}.confirm-modal h2{margin:0;font-size:1.02rem;letter-spacing:-.01em}.confirm-modal p{margin:0;color:#6f8097}.confirm-actions{margin-top:.35rem;display:flex;justify-content:flex-end;gap:.5rem}@keyframes menu-popover-enter{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes confirm-modal-enter{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-enter{0%{opacity:0;transform:translateY(10px) scale(.93)}70%{opacity:1;transform:translateY(0) scale(1.015)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes auth-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.menu-popover,.modal-backdrop,.confirm-modal,.toast{animation:none}.auth-loading-spinner{animation:none;border-top-color:#10233a73}.menu-item{transition:none}.menu-item:hover{transform:none}}@media (max-width: 640px){.card{border-radius:26px 26px 50px 50px;padding:.6rem .3rem}.app-header{align-items:flex-start;margin:0 .3rem}.app-header h1{font-size:1.25rem}.app-header p{font-size:.84rem}.tab-row,.content-pane{margin:0 .3rem}.summary-box{grid-template-columns:1fr}.booking-open-button{gap:.55rem}.booking-metrics{min-width:92px}}
