:root{color:#0f172a;background:#f3f6fb}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 0 0,#1d4ed829,#0000 28%),linear-gradient(#f8fbff 0%,#f3f6fb 48%,#eef2f7 100%)}.admin-layout{min-height:100vh}.admin-sider{border-inline-end:1px solid #0f172a14;box-shadow:12px 0 32px #0f172a0d}.brand-panel{padding:28px 20px 20px}.brand-panel .ant-typography{margin-bottom:4px;display:block}.brand-kicker,.header-kicker,.login-kicker{letter-spacing:.16em;text-transform:uppercase;color:#2563eb;font-size:12px;line-height:20px}.admin-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb8;border-bottom:1px solid #0f172a0f;justify-content:space-between;align-items:center;gap:16px;height:auto;padding:20px 24px;display:flex}.admin-title-row{align-items:flex-start;gap:12px;min-width:0;display:flex}.admin-title-copy{min-width:0}.admin-title-copy .ant-typography{overflow-wrap:anywhere}.mobile-menu-button,.mobile-nav-drawer{display:none}.admin-content{padding:24px}.page-loading{justify-content:center;align-items:center;min-height:320px;display:flex}.workspace-hero{background:radial-gradient(circle at 100% 0,#0ea5e91f,#0000 24%),linear-gradient(#eff6fff5,#fffffffa);border-radius:24px}.workspace-hero__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.workspace-jump{text-align:left;cursor:pointer;background:linear-gradient(#fffffffa,#eff6ffeb);border:1px solid #2563eb1f;border-radius:20px;width:100%;padding:18px;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:0 14px 32px #0f172a0f}.workspace-jump:hover{border-color:#2563eb47;transform:translateY(-1px);box-shadow:0 20px 40px #2563eb1a}.workspace-jump__kicker{letter-spacing:.14em;text-transform:uppercase;color:#2563eb;font-size:11px;line-height:18px;display:block}.workspace-jump__value{color:#0f172a;margin-bottom:8px;font-size:24px;font-weight:700;line-height:32px}.drawer-footer{border-top:1px solid #0f172a14;justify-content:flex-end;margin-top:16px;padding-top:20px;display:flex}.login-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:linear-gradient(#eff6fff5,#fffffffa),#fff;border-radius:28px;width:100%;max-width:480px;box-shadow:0 24px 80px #0f172a24}.login-header{margin-bottom:24px}.login-header .ant-typography{display:block}.login-hint{color:#64748b;min-height:22px;margin-top:14px}.preview-shell{flex-direction:column;gap:12px;display:flex}.preview-stage{background:linear-gradient(#f8fbff 0%,#eef4ff 100%);border-radius:20px;padding:16px}.preview-hint{color:#475569;margin-bottom:12px}.preview-canvas{aspect-ratio:1;background:linear-gradient(#2563eb0a,#2563eb0a),repeating-linear-gradient(0deg,#0000,#0000 31px,#94a3b81f 31px 32px),repeating-linear-gradient(90deg,#0000,#0000 31px,#94a3b81f 31px 32px);border:1px dashed #2563eb42;border-radius:16px;width:min(100%,560px);margin:0 auto;position:relative;overflow:hidden}.preview-floor-image,.layout-editor-image{object-fit:fill;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.preview-seat{box-sizing:border-box;color:#111;background:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;min-width:0;min-height:0;font-size:12px;font-weight:700;display:flex;position:absolute}.preview-seat.is-private-room{border:0}.preview-seat.is-disabled{color:#111;background:#fff}.layout-editor-shell{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:18px;display:grid}.layout-editor-stage{background:#f8fbff;border:1px solid #0f172a0f;border-radius:18px;padding:16px}.layout-editor-hint{color:#475569;margin-bottom:12px}.layout-editor-canvas{aspect-ratio:1;touch-action:none;background:repeating-linear-gradient(0deg,#0000,#0000 31px,#94a3b824 31px 32px),repeating-linear-gradient(90deg,#0000,#0000 31px,#94a3b824 31px 32px),#f8fafc;border:1px solid #2563eb38;border-radius:16px;width:min(100%,720px);margin:0 auto;position:relative;overflow:hidden}.layout-editor-seat{box-sizing:border-box;color:#111;cursor:grab;-webkit-user-select:none;user-select:none;min-width:0;min-height:0;box-shadow:none;background:#fff;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:0;font-size:12px;font-weight:700;display:flex;position:absolute}.layout-editor-seat:before{content:"";position:absolute;inset:-10px}.layout-editor-guide{z-index:12;pointer-events:none;background:#16a34a;position:absolute;box-shadow:0 0 0 1px #ffffffb8}.layout-editor-guide.is-vertical{width:2px;top:0;bottom:0;transform:translate(-1px)}.layout-editor-guide.is-horizontal{height:2px;left:0;right:0;transform:translateY(-1px)}.layout-editor-seat:active{cursor:grabbing}.layout-editor-seat.is-selected{outline:0}.layout-editor-seat.is-private-room{border:0}.layout-editor-seat.is-disabled{color:#111;background:#fff}.layout-editor-side{background:#fff;border:1px solid #0f172a14;border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}@media (width<=960px){.desktop-sider{display:none}.mobile-menu-button{flex:none;display:inline-flex}.mobile-nav-drawer{display:block}.admin-header{flex-direction:column;align-items:flex-start;padding:16px}.admin-actions{width:100%}.workspace-hero__header{flex-direction:column}.admin-content{padding:16px}.layout-editor-shell{grid-template-columns:1fr}}@media (width<=640px){.admin-header{gap:12px}.admin-title-row{width:100%}.admin-title-copy .ant-typography h3,.admin-title-copy .ant-typography{max-width:100%}.admin-title-copy h3.ant-typography,.workspace-hero h3.ant-typography{font-size:22px;line-height:30px}.admin-actions .ant-space-item,.admin-actions .ant-btn{max-width:100%}.admin-content{padding:12px}.ant-card-head{flex-wrap:wrap;gap:8px;padding-inline:16px}.ant-card-extra{max-width:100%;margin-left:0}.ant-card-extra .ant-space{flex-wrap:wrap}.admin-content .ant-space,.admin-content .ant-space-item,.admin-content .ant-select,.admin-content .ant-input,.admin-content .ant-input-number{max-width:100%}.workspace-hero__header .ant-space,.workspace-hero__header .ant-select{width:100%!important}.drawer-footer{justify-content:stretch}.drawer-footer .ant-space,.drawer-footer .ant-space-item,.drawer-footer .ant-btn{width:100%}.responsive-drawer .ant-drawer-content-wrapper{width:100vw!important}.responsive-modal{max-width:calc(100vw - 24px)}.responsive-modal .ant-modal-content{padding:16px}.preview-stage,.layout-editor-stage{padding:12px}}
