:root{font-family:Georgia,Times New Roman,serif;color:#1d1f19;background:#f8f4eb}body{margin:0;background:radial-gradient(circle at top left,rgba(116,87,43,.16),transparent 26rem),linear-gradient(180deg,#fbf6ec,#f2ebdc)}.header{padding:24px 32px;background:#fbf8f0eb;border-bottom:1px solid rgba(94,79,51,.16);position:relative;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header h1{margin:0;font-size:2.2rem;color:#2b281f}.header p{margin:8px 0 0;font-size:1.08rem;color:#5c584e;font-style:italic}.fullscreenButton{position:absolute;right:16px;top:16px;background:transparent;border:none;color:#8c8065;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.fullscreenButton:hover{color:#5f573f}.layout{display:grid;grid-template-columns:1fr 360px}.main{padding:24px}.sidebar{padding:24px;border-left:1px solid rgba(94,79,51,.16);overflow:auto;background:#faf6eceb}.sidebar h2{margin-top:0;font-size:1.45rem;margin-bottom:12px}.mapWrap{max-width:1200px;margin:0 auto}.rfidPanel{padding:16px;margin-bottom:20px;border:1px solid rgba(110,91,56,.16);border-radius:16px;background:linear-gradient(180deg,#fff7e4f2,#f7f1e1f5);box-shadow:0 12px 32px #52432614}.rfidPanel h2{margin-top:0}.rfidMeta{display:grid;gap:6px;margin:14px 0;font-size:.94rem;color:#5d523d}.rfidField{display:grid;gap:6px;margin-top:12px}.rfidField input{width:100%;border:1px solid #c8bfad;border-radius:10px;padding:10px 12px;font:inherit;box-sizing:border-box;background:#fffdf8fa}.rfidHint{margin-bottom:0;font-size:.92rem;color:#6a624f}.poi-section{padding:16px 32px;border-top:1px solid rgba(94,79,51,.16);background-color:#fffcf7f0}.poi-section h2{margin-top:0;margin-bottom:.75rem;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;color:#706148}.poi-list{column-count:4;column-gap:32px;padding-left:1.5rem;margin:0}.poi-list li{margin-bottom:.3rem;break-inside:avoid}.poi-list a,.sidebar a{text-decoration:none;color:#0c5ea8;font-weight:500;transition:color .15s ease}.poi-list a:hover,.poi-list a:focus,.sidebar a:hover,.sidebar a:focus{text-decoration:underline;color:#083c6b}.poiStatus{display:inline-block;min-width:5.7rem;color:#4b5d7a;font-size:.92rem}.btn-primary{display:inline-block;padding:8px 16px;background-color:#21553b;color:#fff!important;text-decoration:none!important;border-radius:999px;font-weight:600;border:none;cursor:pointer;transition:background-color .15s ease}.btn-primary:hover,.btn-primary:focus{background-color:#173c29}svg [id^=fill-]{pointer-events:none;opacity:1;fill:#ffc20a!important;transition:fill .2s ease,filter .2s ease}svg [id^=fill-].is-visited{fill:#0c7bdc!important}@keyframes pulseSelected{0%{filter:drop-shadow(0 0 2px rgba(0,0,0,.35)) brightness(1);opacity:1}50%{filter:drop-shadow(0 0 8px rgba(0,0,0,.5)) brightness(1.3);opacity:.7}to{filter:drop-shadow(0 0 2px rgba(0,0,0,.35)) brightness(1);opacity:1}}svg [id^=fill-].is-selected{animation:pulseSelected 1.5s infinite ease-in-out}svg [id^=hit-]{cursor:pointer}.modalBackdrop{position:fixed;inset:0;background:#14110c75;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.modal{width:100%;height:100%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #00000040;display:flex;flex-direction:column}.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #eee}.modalTitle{font-weight:600}.modalClose{font-size:22px;line-height:1;padding:6px 10px;border:0;background:transparent;cursor:pointer}.modalFrame{flex:1;width:100%;border:0}@media(max-width:1100px){.poi-list{column-count:2}}@media(max-width:900px){.header{padding:16px}.header h1{font-size:1.8rem}.layout{grid-template-columns:1fr;display:flex;flex-direction:column}.main{order:1}.sidebar{order:2;border-left:none;border-bottom:1px solid rgba(94,79,51,.16);border-top:1px solid rgba(94,79,51,.16)}.poi-list{column-count:1}}
