:root{--bg: #f6f5f2;--card: #ffffff;--ink: #1d2321;--muted: #6b716e;--line: #e2e0da;--accent: #26463c;--accent-ink: #ffffff;--alert: #8a2f2f;--alert-bg: #fbeceb;--ok: #1f6b4a;--ok-bg: #e9f5ef}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45}h1{font-size:1.6rem;margin:0 0 .2rem;letter-spacing:-.01em}h2{font-size:1rem;margin:0 0 .8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}a{color:var(--accent)}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}.muted{color:var(--muted)}.small{font-size:.82rem}.right{text-align:right}.centered{display:grid;place-items:center;min-height:100vh;color:var(--muted)}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:#14201c;color:#eeece5;padding:1.4rem 1rem;display:flex;flex-direction:column;gap:1.6rem}.sidebar .brand strong{color:#fff}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{color:#cfd6d1;text-decoration:none;padding:.55rem .7rem;border-radius:6px;font-size:.94rem}.sidebar nav a:hover{background:#ffffff0f}.sidebar nav a.active{background:#ffffff1f;color:#fff}.sidebar .muted{color:#98a39d}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:.3rem}.sidebar-foot .small{color:#e8e6df}.brand{display:flex;align-items:center;gap:.7rem}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--accent);color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.04em}.content{padding:2rem clamp(1rem,4vw,3rem) 3rem;max-width:1180px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.4rem}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.2rem 1.3rem;margin-bottom:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:1rem}.tile{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem}.tile-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tile-value{font-size:1.9rem;font-weight:600;margin:.2rem 0 .15rem}.tile-empty{font-size:1rem;font-weight:600;color:var(--muted);margin:.35rem 0 .2rem}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}tbody tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer}tr.clickable:hover{background:#faf9f6}.table-wrap{padding:.4rem .6rem;overflow-x:auto}th.bild,td.bild{width:64px;min-width:64px;padding:.3rem .4rem}td.bild{vertical-align:middle}.bild-knopf{display:flex;align-items:center;justify-content:center;width:100%;height:56px;padding:0;border:0;background:none;cursor:pointer}.bild-vorschau{display:block;height:56px;width:auto;max-width:64px;object-fit:contain;border-radius:4px;background:#f3f1ea}.bild-platzhalter{display:block;width:56px;height:56px;box-sizing:border-box;border:1px dashed #d8d3c6;border-radius:4px;background:#f7f5f0}.badge{display:inline-block;margin-left:.5rem;padding:.05rem .45rem;border-radius:999px;background:#f0eee7;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.badge.number-state-reserved{background:#f6efdc;color:#8a6d1f}.badge.number-state-claimed{background:#e2efe3;color:#2f6b3a}label{display:block;margin-bottom:.8rem;font-size:.86rem;color:var(--muted)}input,select{width:100%;margin-top:.28rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:7px;font:inherit;color:var(--ink);background:#fff}.filters{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.filters input{flex:1 1 260px;margin-top:0}.filters select{flex:0 0 180px;margin-top:0}.switch-inline{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;padding:.4rem .7rem;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer;white-space:nowrap}.switch-inline input{flex:0 0 auto;margin:0;width:1rem;height:1rem}.empty-state{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.empty-state p{margin:0}.inline-form{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap}.inline-form input{margin-top:0;flex:1 1 160px}button{font:inherit;padding:.55rem .95rem;border-radius:7px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}button:hover{background:#f4f2ec}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.primary:hover{background:#1d3a31}button.danger{background:var(--alert);border-color:var(--alert);color:#fff}button.link{background:none;border:none;color:#cfe0d8;padding:.3rem 0;text-align:left}button:disabled{opacity:.6;cursor:default}.alert{background:var(--alert-bg);color:var(--alert);border-radius:7px;padding:.6rem .8rem;margin:.6rem 0;font-size:.9rem}.notice,.ok{background:var(--ok-bg);color:var(--ok);border-radius:7px;padding:.6rem .8rem;margin:.6rem 0;font-size:.9rem}.warn-inline{color:var(--alert);font-weight:600}dl.kv{display:grid;grid-template-columns:140px 1fr;gap:.35rem .8rem;margin:0}dl.kv dt{color:var(--muted);font-size:.85rem}dl.kv dd{margin:0}ul.list{list-style:none;padding:0;margin:0}ul.list li{padding:.4rem 0;border-bottom:1px solid var(--line)}ul.list li:last-child{border-bottom:none}.pdf{width:100%;height:420px;border:1px solid var(--line);border-radius:8px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.login{width:min(420px,100%)}.login h1{margin-top:1.2rem}.login .brand .muted{color:var(--muted)}.login-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.login-top h1{margin:0;font-size:1.4rem}.lang-switch{display:inline-flex;align-items:center;gap:.3rem;flex:0 0 auto}.lang-switch button{font:inherit;font-size:.74rem;font-weight:600;letter-spacing:.06em;min-width:2.7rem;padding:.2rem .35rem;line-height:1.2;text-align:center;border-radius:5px;border:1px solid var(--line);background:#fff;color:var(--muted)}.lang-switch button.on{background:var(--accent);border-color:var(--accent);color:#fff}.lang-switch .lang-sep{color:#c9c4b7;font-size:.74rem}.lang-switch[data-tone=dark] button{background:transparent;border-color:#ffffff38;color:#cfd6d1}.lang-switch[data-tone=dark] button:hover{background:#ffffff1a}.lang-switch[data-tone=dark] button.on{background:#fff;border-color:#fff;color:#14201c}.lang-switch[data-tone=dark] .lang-sep{color:#5f6b65}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.switch-row:last-child{border-bottom:none}.gallery{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:1rem;align-items:start}.gallery-main{margin:0}.gallery-main img{width:100%;aspect-ratio:1 / 1;object-fit:contain;background:#f4f2ec;border:1px solid var(--line);border-radius:8px}.gallery-main figcaption{margin-top:.35rem}ul.thumbs{list-style:none;padding:0;margin:0;display:flex;gap:.6rem;flex-wrap:wrap}ul.thumbs li.thumb{border-bottom:none;padding:0}.thumb{width:96px;display:flex;flex-direction:column;gap:.3rem}.thumb img{width:96px;height:96px;object-fit:cover;border:1px solid var(--line);border-radius:7px;background:#f4f2ec}.thumb.main img{border-color:var(--accent);box-shadow:0 0 0 2px #1f3d3326}.create-article{margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 1rem}.field-error{display:block;margin-top:.2rem;color:var(--alert);font-size:.8rem}.field-block{display:flex;flex-direction:column}.pricing-hint{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-top:.25rem;font-size:.8rem;color:var(--muted, #5c6b62)}.pricing-hint-value{font-variant-numeric:tabular-nums}.pricing-apply{padding:.1rem .45rem;font-size:.75rem;line-height:1.4;background:transparent;border:1px solid currentColor;border-radius:4px;color:inherit;cursor:pointer}.pricing-apply:disabled{opacity:.5;cursor:default}.dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#141a1773}.dialog{width:min(520px,100%);margin:0}.dialog h2{color:var(--alert)}.dialog-publish h2{color:inherit}.dialog-publish .kv{margin:.4rem 0 .8rem}.dialog-publish{width:min(680px,100%);max-height:90vh;overflow-y:auto}.publish-sub{font-size:.9rem;margin:1rem 0 .4rem}ul.publish-images{list-style:none;padding:0;margin:0 0 .4rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}li.publish-image{border:1px solid var(--line);border-radius:7px;padding:.35rem;display:flex;flex-direction:column;gap:.25rem;align-items:center;background:#fbfaf7;font-size:.78rem}li.publish-image.selected{border-color:var(--accent);box-shadow:0 0 0 2px #1f3d331f}li.publish-image img{width:96px;height:96px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:#f4f2ec}.publish-image-pick{display:flex;align-items:center;gap:.3rem;margin:0;color:inherit}.publish-image-pick input{width:auto;margin:0}.publish-image-move{display:flex;gap:.25rem}.publish-image-move button{padding:.05rem .45rem}.dialog-publish input[type=file]{display:block;margin:.2rem 0 .3rem}.bilder-feld{margin:.8rem 0 .2rem;padding:.6rem .8rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fbfaf7}.bilder-feld legend{padding:0 .35rem;font-weight:600}.bilder-feld input[type=file]{display:block;margin:.35rem 0 .2rem;max-width:100%}.bilder-hinweis{margin:.35rem 0 0;padding:.45rem .6rem;border:1px dashed #d8d3c6;border-radius:6px;background:#f7f5f0;color:var(--muted);font-size:.85rem}ul.bilder-kacheln{list-style:none;padding:0;margin:.4rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}li.bilder-kachel{border:1px solid var(--line);border-radius:7px;padding:.35rem;display:flex;flex-direction:column;gap:.2rem;align-items:center;background:#fff;font-size:.75rem}li.bilder-kachel:first-child{border-color:var(--accent);box-shadow:0 0 0 2px #1f3d331f}li.bilder-kachel img,li.bilder-kachel .bilder-platzhalter{width:96px;height:96px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:#f4f2ec}li.bilder-kachel .bilder-platzhalter{display:block}.bilder-position{font-weight:600}.bilder-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.bilder-knoepfe{display:flex;gap:.25rem;flex-wrap:wrap;justify-content:center}.bilder-knoepfe button{padding:.05rem .4rem}.page-title{display:flex;align-items:center;gap:.55rem}.codes-legend-wrap{position:relative;display:inline-flex}.codes-legend-button{width:1.5rem;height:1.5rem;padding:0;border-radius:50%;font-size:.85rem;font-weight:700;line-height:1}.codes-legend{position:absolute;z-index:30;top:2.1rem;left:0;width:min(32rem,82vw);padding:.8rem .9rem;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 30px #00000029;display:flex;flex-direction:column;gap:.6rem;font-weight:400}.codes-legend-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.codes-legend-close{padding:0 .35rem;border:none;background:none;font-size:1.15rem;line-height:1}.codes-legend-example{background:#f1f5f2;border-radius:6px;padding:.35rem .5rem;margin:0}.codes-legend-block{display:flex;flex-direction:column;gap:.2rem}.codes-legend-label{font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.codes-legend-grid{list-style:none;margin:0;padding:0;font-size:.85rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem .8rem}.codes-legend-types{list-style:none;margin:0;padding:0;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.2rem 1rem}a.button{display:inline-block;padding:.55rem .95rem;border-radius:7px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-size:1rem}a.button:hover{background:#f4f2ec}@media(max-width:760px){.gallery,.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;overflow-x:auto;padding:.8rem;gap:1rem}.sidebar nav{flex-direction:row}.sidebar-foot{margin:0 0 0 auto;flex-direction:row;align-items:center;gap:.6rem}.content{padding:1.2rem 1rem 2rem}}
