:root{--nf-bg:#fff;--nf-fill:#f5f5f5;--nf-fill-2:#f0f0f0;--nf-text:#1d2129;--nf-text-2:#4e5969;--nf-text-3:#86909c;--nf-border:#e5e6eb;--nf-sider:linear-gradient(180deg, #fdf0f3 14.38%, #f1e9fc 100%);--nf-menu-on:#000;--nf-menu-on-bg:#f1d5dc;--nf-brand:#b0445f;--nf-brand-wash:#fbecf0;--nf-pending:#fdf0c4;--nf-ok:#1f6b46}.dark{--nf-bg:#141414;--nf-fill:#1f1f1f;--nf-fill-2:#262626;--nf-text:#ffffffe0;--nf-text-2:#ffffffa6;--nf-text-3:#ffffff73;--nf-border:#303030;--nf-sider:linear-gradient(180deg, #21151a 14.38%, #191427 100%);--nf-menu-on:#fff;--nf-menu-on-bg:#4a2532;--nf-brand-wash:#3a1f28;--nf-pending:#36301c;--nf-ok:#8fd6ae}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:var(--nf-bg);color:var(--nf-text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Helvetica Neue,sans-serif}#root{height:100vh}.nf-login{background:var(--nf-sider);place-items:center;min-height:100vh;padding:16px;display:grid}.nf-sider{flex-direction:column;height:100%;padding:12px 8px;display:flex}.nf-console-drawer-logo{align-items:center;gap:10px;min-height:48px;margin:0 8px 8px;font-size:16px;display:flex}.nf-console-drawer-logo img{border-radius:9px}.nf-shop-pick{margin:0 8px 8px}.nf-avatar{border-radius:50%;width:24px;height:24px}.nf-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nf-console-main{background:var(--nf-bg);padding:16px;overflow:auto}.nf-page{flex-direction:column;gap:12px;min-width:0;max-width:880px;display:flex}.nf-muted{color:var(--nf-text-3)}.nf-small{font-size:12px}.nf-page-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nf-page-head h1{flex:1;min-width:0;margin:0;font-size:20px;line-height:28px}.nf-section{color:var(--nf-text-2);margin:8px 0 0;font-size:14px;font-weight:600;line-height:22px}.ant-form-item-explain,.ant-form-item-extra{font-size:12px!important}.ant-menu-item{opacity:.3;font-size:16px;font-weight:600;height:48px!important;line-height:48px!important}.ant-menu-item .anticon{font-size:20px!important}.ant-menu-item-selected{opacity:1!important;color:var(--nf-menu-on)!important;background-color:var(--nf-menu-on-bg)!important}.ant-menu-item-active{opacity:.6}.nf-bookings{gap:8px;display:grid}.nf-booking{border:1px solid var(--nf-border);background:var(--nf-bg);border-radius:12px;grid-template-columns:minmax(84px,max-content) minmax(0,1fr);gap:4px 12px;padding:12px;display:grid}.nf-booking.is-pending{background:var(--nf-pending);border-color:#0000}.nf-booking.is-off{opacity:.6}.nf-booking-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:18px;font-weight:700;line-height:24px}.nf-booking-date{color:var(--nf-text-2);font-size:12px}.nf-booking-who{min-width:0}.nf-booking-name{font-size:16px;font-weight:600;line-height:24px}.nf-booking-meta{color:var(--nf-text-2);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:14px;display:flex}.nf-booking-note{color:var(--nf-text-2);margin:4px 0 0;font-size:14px}.nf-booking-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;margin-top:4px;display:flex}.nf-empty{border:1px dashed var(--nf-border);text-align:center;color:var(--nf-text-3);border-radius:12px;padding:24px 12px}.nf-hours{gap:8px;display:grid}.nf-hours-row{grid-template-columns:64px 52px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;display:grid}.nf-services{gap:8px;display:grid}.nf-service-row{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) 88px 44px 40px;align-items:center;gap:8px;display:grid}.nf-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.nf-members{gap:8px;display:grid}.nf-member{align-items:center;gap:8px;min-width:0;display:flex}.nf-link-box{word-break:break-all;background:var(--nf-fill);border-radius:8px;padding:8px 10px;font-size:12px}.nf-poster{border:1px solid var(--nf-border);text-align:center;border-radius:16px;justify-items:center;gap:12px;padding:24px 16px;display:grid}.nf-poster h2{margin:0;font-size:28px;line-height:1.15}.nf-poster p{color:var(--nf-text-2);margin:0;font-size:16px}.nf-poster .ant-qrcode{border:0;padding:0;background:#fff!important}@media print{body *{visibility:hidden}.nf-poster,.nf-poster *{visibility:visible}.nf-poster{color:#000;border:0;align-content:center;position:fixed;inset:0}.nf-poster p{color:#000}.nf-poster .ant-qrcode,.nf-poster canvas{width:9cm!important;height:9cm!important}}@media (width<=767px){html,body,#root{width:100%;height:100%;min-height:100dvh;overflow:hidden}.nf-console-layout-mobile{background:var(--nf-bg);width:100%;overflow:hidden;height:100dvh!important}.nf-console-mobile-header{flex:0 0 calc(52px + env(safe-area-inset-top));height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;color:var(--nf-text);background:var(--nf-sider);grid-template-columns:44px minmax(0,1fr) 36px;align-items:center;gap:8px;display:grid}.nf-console-mobile-menu-button{width:44px;height:44px;font-size:20px}.nf-console-mobile-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:600;overflow:hidden}.nf-console-mobile-logo{border-radius:9px;justify-self:end;width:32px;height:32px}.nf-console-mobile-drawer-content{height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px);flex-direction:column;display:flex}.nf-console-mobile-nav{flex:1;min-height:0;overflow:auto}.nf-console-main-mobile{overscroll-behavior:contain;max-width:100vw;overflow:hidden auto;padding:8px 8px max(8px, env(safe-area-inset-bottom))!important}.nf-console-main-mobile .ant-btn,.nf-console-main-mobile .ant-select-selector,.nf-console-main-mobile .ant-input,.nf-console-main-mobile .ant-input-affix-wrapper,.nf-console-main-mobile .ant-input-number{min-height:40px}.nf-mobile-modal .ant-modal-content{border-radius:0;min-height:100dvh}.nf-mobile-modal .ant-btn,.nf-mobile-modal .ant-input,.nf-mobile-modal .ant-select-selector{min-height:40px}.nf-booking{grid-template-columns:minmax(76px,max-content) minmax(0,1fr)}.nf-booking-actions .ant-btn{flex:auto}.nf-service-row{grid-template-columns:minmax(0,1fr) 76px 40px;grid-template-areas:"name name del""price min on"}.nf-service-row>:first-child{grid-area:name}.nf-service-row>:nth-child(2){grid-area:price}.nf-service-row>:nth-child(3){grid-area:min;width:100%}.nf-service-row>:nth-child(4){grid-area:on;justify-self:center}.nf-service-row>:nth-child(5){grid-area:del}.nf-hours-row{grid-template-columns:44px 48px minmax(0,1fr) minmax(0,1fr);gap:6px}.nf-console-main-mobile .ant-switch{position:relative}.nf-console-main-mobile .ant-switch:before{content:"";position:absolute;inset:-10px -4px}.nf-service-row .ant-btn,.nf-member .ant-btn{min-width:40px}}
