/* Live demo tools for the fictional practice price page (/demo/prices.html). Demo only: never part
   of a client build. Loaded after the template's styles.css. */
.fsd-bar { position: sticky; top: 0; z-index: 50; background: #17332D; color: #fff; font: 600 14px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif; padding: 10px 16px; display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; box-shadow: 0 2px 10px rgba(0,0,0,.18); }
.fsd-bar .fsd-tag { background: #F4C95D; color: #17332D; border-radius: 999px; padding: 3px 10px; font-size: 12px; letter-spacing: .02em; }
.fsd-bar .fsd-modes { display: inline-flex; background: rgba(255,255,255,.12); border-radius: 999px; padding: 3px; }
.fsd-bar .fsd-modes button { appearance: none; border: 0; background: transparent; color: #fff; font: inherit; padding: 6px 14px; border-radius: 999px; cursor: pointer; min-height: 32px; }
.fsd-bar .fsd-modes button[aria-pressed="true"] { background: #fff; color: #17332D; }
.fsd-bar .fsd-modes button:focus-visible, .fsd-bar .fsd-reset:focus-visible { outline: 3px solid #F4C95D; outline-offset: 2px; }
.fsd-bar .fsd-reset { appearance: none; border: 1px solid rgba(255,255,255,.5); background: transparent; color: #fff; font: inherit; font-weight: 500; padding: 5px 12px; border-radius: 999px; cursor: pointer; min-height: 32px; }
.fsd-bar .fsd-note { font-weight: 400; opacity: .85; font-size: 13px; }
.fsd-tools { border: 1px solid #d8d2c6; background: #FBF8F2; border-radius: 14px; padding: 14px 16px; margin: 18px 0; display: grid; gap: 12px; }
.fsd-tools h2 { font-size: 1.05rem; margin: 0; }
.fsd-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.fsd-chip { appearance: none; border: 1px solid #b9b1a2; background: #fff; color: #20302C; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 14px; cursor: pointer; min-height: 36px; }
.fsd-chip[aria-pressed="true"] { background: #17332D; border-color: #17332D; color: #fff; }
.fsd-chip:focus-visible, .fsd-search:focus-visible { outline: 3px solid #2E7453; outline-offset: 2px; }
.fsd-search { flex: 1 1 240px; min-height: 40px; border: 1px solid #b9b1a2; border-radius: 10px; padding: 8px 12px; font: inherit; }
.fsd-count { font-size: 14px; color: #4b5a55; }
.fsd-hide { display: none !important; }
.fsd-checks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 6px 14px; font-size: 14px; }
.fsd-checks li { display: flex; gap: 8px; align-items: flex-start; }
.fsd-checks .ok::before { content: "\2713"; color: #2E7453; font-weight: 700; }
.fsd-checks .warn::before { content: "!"; color: #B04E2A; font-weight: 800; width: .7em; text-align: center; }
.fsd-editing td.price .fsd-val { outline: 2px dashed #2E7453; outline-offset: 2px; border-radius: 4px; padding: 0 3px; cursor: text; background: #fff; }
.fsd-editing td.price .fsd-val:focus { outline: 3px solid #2E7453; background: #F1FAF4; }
.fsd-editing ul.ticks li { cursor: pointer; }
.fsd-editing ul.ticks li:hover .box { color: #2E7453; }
.fsd-changed { background: #FFF6DA !important; transition: background .4s; }
.fsd-toast { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); background: #17332D; color: #fff; padding: 10px 16px; border-radius: 10px; font: 500 14px system-ui, sans-serif; z-index: 60; box-shadow: 0 6px 20px rgba(0,0,0,.25); }
@media print { .fsd-bar, .fsd-tools, .fsd-toast { display: none !important; } }
