/* Quiet, actionable notifications. No decorative shadow or glowing surfaces. */
.seat-notice{display:flex;align-items:center;background:#eeecf6;border:0;border-radius:18px;margin:0 0 10px;box-shadow:none;color:#655489;overflow:hidden}
.seat-notice.expired{background:#fae9e2;color:#98503d}.seat-notice.soon{background:#f8efdc;color:#86612a}.seat-notice.cleaning{background:#eaf2ed;color:#47725c}.seat-notice.repair{background:#eceef1;color:#626773}
.seat-notice-message{display:flex;align-items:center;gap:12px;min-height:58px;flex:1;min-width:0;padding:10px 16px;text-align:left;animation:notice-enter .18s ease-out}
.seat-notice-message>.icon{width:20px;height:20px;flex-shrink:0}.seat-notice-message>.icon:last-child{width:16px;margin-left:auto}
.seat-notice-message>span{display:flex;flex-direction:column;gap:4px;min-width:0}.seat-notice-message strong{font-size:13px;font-weight:550;line-height:1.35}.seat-notice-message small{font-size:10px;opacity:.8;font-variant-numeric:tabular-nums}
.notice-next{min-height:44px;min-width:44px;font-size:11px;padding:8px;margin-right:8px;font-variant-numeric:tabular-nums}
@keyframes notice-enter{from{opacity:.3;transform:translateX(6px)}to{opacity:1;transform:translateX(0)}}
.shell .map-scroll{position:relative}
.shell .map-scroll .map-controls{position:absolute;inset:auto 10px 10px auto;display:flex;align-items:center;justify-content:center;width:max-content;height:38px;min-height:38px;margin:0;padding:2px 4px;gap:2px;border:1px solid #dedde580;border-radius:13px;background:#fffffff0;backdrop-filter:blur(10px);box-shadow:none;z-index:4;font-size:11px}
.shell .map-scroll .map-controls button{min-width:34px;min-height:34px;height:34px;padding:4px;border-radius:9px;font-size:12px}
.shell .map-scroll .map-controls [data-zoom-label]{min-width:38px;text-align:center;font-variant-numeric:tabular-nums}
.shell .map-scroll .map-controls .fit-btn{padding:4px 9px;background:transparent}
.shell .map-scroll.tools-reserved{padding-bottom:48px;background-color:var(--bg)}
.shell .map-scroll.tools-reserved .map-controls{bottom:4px}
.shell .seat-shape.message-highlight .seat-main{stroke:var(--purple);stroke-width:5;stroke-dasharray:4 2}
.shell .seat-shape.needs-reminder>.seat-visual{transform-box:fill-box;transform-origin:center;animation:seat-notice-shake 1.65s ease-in-out infinite}
.shell .editing .seat-shape.needs-reminder>.seat-visual{animation:none}
@keyframes seat-notice-shake{
  0%,32%,100%{transform:translateX(0) rotate(0)}
  4%{transform:translateX(calc(var(--seat-shake,7px) * -1)) rotate(-2deg)}
  8%{transform:translateX(var(--seat-shake,7px)) rotate(2deg)}
  12%{transform:translateX(calc(var(--seat-shake,7px) * -.85)) rotate(-1.6deg)}
  16%{transform:translateX(calc(var(--seat-shake,7px) * .85)) rotate(1.6deg)}
  22%{transform:translateX(calc(var(--seat-shake,7px) * -.5)) rotate(-1deg)}
  28%{transform:translateX(calc(var(--seat-shake,7px) * .5)) rotate(1deg)}
}
.architecture .column-body{fill:#a7acb6;stroke:#737a88;stroke-width:2}
.architecture .glass-body{fill:#9cbbd1;stroke:#7f9eb4;stroke-width:1.5}
.architecture .glass-lines{fill:none;stroke:#829cac;stroke-width:1.6}
.architecture .door-hit{fill:transparent;stroke:none;pointer-events:all}
.architecture .door-leaf{fill:none;stroke:#7b718d;stroke-width:3}
.architecture .door-arc{fill:none;stroke:#aaa0b8;stroke-width:1.5;stroke-dasharray:4 3}
.architecture .door-hinge{fill:#7b718d;stroke:none}
.architecture.selected-facility .column-body,.architecture.selected-facility .glass-body,.architecture.selected-facility .door-leaf{stroke:var(--purple);stroke-width:3}
.wall-assembly{cursor:pointer}
.editing .architecture-selection-axis{stroke:var(--purple,#7154d9);stroke-width:3;stroke-linecap:round;stroke-dasharray:9 5;pointer-events:none;vector-effect:non-scaling-stroke}
.editing .architecture-snap-guide{stroke:#098a78;stroke-width:3;stroke-dasharray:9 5;pointer-events:none;vector-effect:non-scaling-stroke}
.editing .architecture-opening-preview{fill:#f7f4ff;fill-opacity:.84;stroke:#7154d9;stroke-width:2.5;stroke-dasharray:7 4;pointer-events:none;vector-effect:non-scaling-stroke}
.editing .architecture-wall-anchor{fill:#fff;stroke:#098a78;stroke-width:3;pointer-events:none;vector-effect:non-scaling-stroke}
.editing .edit-handle[data-handle="start"],.editing .edit-handle[data-handle="end"]{fill:#fff;stroke:#7154d9;stroke-width:3;cursor:ew-resize}
@media(max-width:767px){
  .shell.view-desk #alert-strip{display:block}
  .shell.view-desk .seat-notice{border-radius:16px;margin:0 0 6px}
  .seat-notice-message{min-height:50px;gap:8px;padding:7px 12px}
  .seat-notice-message strong{font-size:11px}.seat-notice-message small{font-size:9px}.seat-notice-message>.icon{width:17px;height:17px}
  .shell .map-scroll .map-scale,.shell.view-desk .map-scroll .map-scale,.shell.view-editor .map-scroll .map-scale{height:100%!important}
  .shell .map-scroll:not(.tools-reserved){padding-bottom:0}
  .shell .map-scroll .map-controls{inset:auto 8px 8px auto;min-height:44px;height:44px;min-width:0;width:max-content;border:0;border-radius:14px;padding:0;gap:4px;background:transparent;backdrop-filter:none;box-shadow:none}
  .shell .map-scroll .map-controls button,.shell .map-scroll .map-controls>.fit-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;height:44px;padding:6px 10px;border:1px solid #dfdce866;border-radius:13px;background:#ffffffed;box-shadow:none;font-size:12px}
  .shell .map-scroll .map-controls>.fit-btn{color:var(--purple);min-width:54px}
  .shell .map-scroll .map-controls>[data-action=zoom-out],.shell .map-scroll .map-controls>[data-action=zoom-in],.shell .map-scroll .map-controls>[data-zoom-label]{display:none}
  .shell .map-scroll.mobile-map-tools-open .map-controls{padding:2px 4px;background:#ffffffed;border:1px solid #dfdce866;max-width:calc(100% - 16px);height:48px}
  .shell .map-scroll.mobile-map-tools-open .map-controls button{background:transparent;border:0;padding:4px}
  .shell .map-scroll.mobile-map-tools-open .map-controls>[data-zoom-label]{display:inline}
  .shell .map-scroll.tools-reserved{padding-bottom:56px}
  .shell .map-scroll.tools-reserved .map-controls{bottom:4px}
}
@media(prefers-reduced-motion:reduce){.seat-notice-message,.shell .seat-shape.needs-reminder>.seat-visual{animation:none!important}}

.architecture .door-hit{stroke:transparent;stroke-width:24;vector-effect:non-scaling-stroke;pointer-events:all}
.shell .store-brand small{font-size:11px;letter-spacing:.2px;color:var(--muted);margin-top:5px}
