:root{--bg: #f5f6f8;--bg-raised: #ffffff;--ink: #14181f;--ink-soft: #565f70;--line: #dde1e8;--accent: #1e5c8c;--accent-ink: #ffffff;--danger: #a3312a;--danger-soft: #f6e2e0;--warn: #a85d2a;--warn-soft: #f1e1d2;--good: #2f6d43;--good-soft: #dfeee3;--radius: 6px;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}[data-theme=dark]{--bg: #10131a;--bg-raised: #171b24;--ink: #e7e9ee;--ink-soft: #97a0b3;--line: #2a3140;--accent: #6fa8d8;--accent-ink: #0f1620;--danger: #e2857e;--danger-soft: #3a1e1c;--warn: #d98c56;--warn-soft: #3a2a1c;--good: #7fb88b;--good-soft: #1e3324}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5}button,input,select{font:inherit;color:inherit}select,input[type=text],input[type=email],input[type=password]{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:.35rem .55rem}select option{background:var(--bg-raised);color:var(--ink)}a{color:var(--accent)}.app-shell{display:grid;grid-template-rows:auto 1fr;height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1rem;background:var(--bg-raised);border-bottom:1px solid var(--line)}.topbar-left{display:flex;align-items:center;gap:1.5rem}.topbar-brand{font-weight:700;letter-spacing:.01em}.topbar-nav{display:flex;gap:.25rem}.topbar-nav a{text-decoration:none;color:var(--ink-soft);padding:.4rem .7rem;border-radius:var(--radius);font-size:.92rem}.topbar-nav a.active,.topbar-nav a:hover{background:var(--bg);color:var(--ink)}.topbar-right{display:flex;align-items:center;gap:.6rem;font-size:.85rem}.topbar-right select,.topbar-right button{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.35rem .55rem;cursor:pointer}main.content{overflow:auto;min-height:0}.centered-page{display:flex;align-items:center;justify-content:center;height:100%}.card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.login-card{width:320px;display:flex;flex-direction:column;gap:.9rem}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--ink-soft)}.field input{padding:.5rem .6rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink)}.checkbox-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ink-soft)}.btn-primary{background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius);padding:.6rem 1rem;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.6;cursor:default}.error-text{color:var(--danger);font-size:.85rem}.page-padded{padding:1.25rem}.hallplan-toolbar{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:var(--bg-raised);border-bottom:1px solid var(--line);flex-wrap:wrap}.hallplan-stage{position:relative;height:calc(100% - 52px);overflow:hidden;background:var(--bg)}.hallplan-stage svg{width:100%;height:100%;display:block}.seat-tooltip{position:fixed;pointer-events:none;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .7rem;font-size:.82rem;box-shadow:0 4px 16px #0000002e;z-index:20;max-width:220px}.legend{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.8rem;color:var(--ink-soft)}.legend-item{display:flex;align-items:center;gap:.35rem}.legend-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.15)}.lod-block-label,.lod-row-label{fill:var(--ink);paint-order:stroke;stroke:var(--bg-raised);stroke-width:3px;font-weight:700;pointer-events:none}.lod-block-badge{fill:var(--ink-soft);paint-order:stroke;stroke:var(--bg-raised);stroke-width:2.5px;pointer-events:none}.seat-number-label{fill:var(--ink);paint-order:stroke;stroke:var(--bg-raised);stroke-width:2px;pointer-events:none}.lod-block-rect{stroke:var(--bg);stroke-width:2}.lod-row-rect{stroke:var(--bg);stroke-width:1.4}.seat-rect{stroke:var(--bg);stroke-width:.6}.seat-rect--selected{stroke:#e0a000;stroke-width:1.4;stroke-dasharray:1.2 .8}.warnings-panel{position:absolute;top:.75rem;right:.75rem;width:min(380px,calc(100% - 1.5rem));max-height:calc(100% - 1.5rem);overflow-y:auto;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000002e;z-index:15;padding:.9rem 1rem}.warnings-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.warnings-panel-head h2{font-size:.95rem;margin:0}.warnings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.warnings-list li{display:flex;flex-direction:column;gap:.2rem;padding-bottom:.5rem;border-bottom:1px solid var(--line);font-size:.82rem}.warnings-list li:last-child{border-bottom:none}.warning-badge{align-self:flex-start;font-size:.72rem;font-weight:600;padding:.15em .5em;border-radius:999px;background:var(--warn-soft);color:var(--warn)}.warning-badge--seat_not_found,.warning-badge--seat_double_booked{background:var(--danger-soft);color:var(--danger)}.warning-message{color:var(--ink-soft)}.warnings-toggle{background:var(--danger-soft);color:var(--danger);border:1px solid transparent;border-radius:var(--radius);padding:.35rem .6rem;font-size:.82rem;cursor:pointer}.export-menu{display:flex;align-items:center;gap:.6rem;font-size:.85rem}.export-menu select,.export-menu button{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.35rem .55rem;cursor:pointer}.export-menu button{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.export-menu button:disabled{opacity:.6;cursor:default}.print-page{width:100vw;height:100vh;background:#fff;position:relative;box-sizing:border-box;padding:12px}.print-legend{position:absolute;left:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:.5rem 1rem;max-width:60%;font-family:system-ui,sans-serif;font-size:11px;color:#14181f}.print-legend-item{display:flex;align-items:center;gap:.3rem}.print-legend-swatch{width:10px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,.2);display:inline-block}.edit-mode-toggle{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--ink-soft);cursor:pointer}.zoom-control{display:flex;align-items:center;gap:.3rem}.zoom-control button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font-size:1rem;line-height:1;padding:0}.zoom-control button:hover{background:var(--bg-raised);border-color:var(--accent)}.zoom-input{width:4.2em;text-align:center;padding:.3rem .2rem;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.zoom-input::-webkit-outer-spin-button,.zoom-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.zoom-unit{font-size:.8rem;color:var(--ink-soft);margin-right:.2rem}.edit-mode-hint{position:absolute;top:.75rem;left:50%;transform:translate(-50%);background:var(--warn-soft);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:999px;padding:.3rem .9rem;font-size:.8rem;z-index:12;pointer-events:none}.edit-bar{position:absolute;bottom:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.6rem;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000002e;padding:.6rem .9rem;font-size:.85rem;z-index:15}.edit-bar select,.edit-bar button{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.35rem .55rem;cursor:pointer}.edit-bar>button:not(.edit-bar-clear){background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.print-timestamp{position:absolute;right:12px;bottom:12px;font-family:system-ui,sans-serif;font-size:10px;color:#565f70}.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.project-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.project-list li{padding:.7rem .9rem;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius)}.project-list a{text-decoration:none;color:var(--ink);font-weight:500}.project-list a:hover{color:var(--accent)}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:2rem;background:var(--bg-raised);border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-soft);max-width:480px}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.dialog-card{width:min(480px,100%);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:.9rem}.dialog-card h2{margin:0;font-size:1.15rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem}.newproject-hint{font-size:12px;color:var(--ink-soft);font-weight:400}.newproject-warnings{background:var(--warn-soft);color:var(--warn);border-radius:var(--radius);padding:.6rem .8rem;font-size:.85rem;max-height:160px;overflow-y:auto}.newproject-warnings ul{margin:.3rem 0 0;padding-left:1.1rem}.settings-intro{color:var(--ink-soft);max-width:60ch;margin-bottom:1.2rem}.settings-form{max-width:420px;display:flex;flex-direction:column;gap:.9rem}.settings-actions{display:flex;gap:.6rem}.settings-actions button:not(.btn-primary){background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem 1rem;cursor:pointer}.settings-test-ok{color:var(--good);font-size:.85rem}
