:root{--text:#6e635e;--text-h:#191512;--bg:#fff;--border:#e4deda;--accent:#b03a2e;--accent-bg:#b03a2e17;--accent-border:#b03a2e73;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--fs-title:22px;--fs-lg:17px;--fs-md:15px;--fs-base:14px;--fs-sm:13px;--fs-xs:11.5px;--fs-micro:9px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#a2968f;--text-h:#f2eeeb;--bg:#171412;--border:#332d29;--accent:#e0685a;--accent-bg:#e0685a26;--accent-border:#e0685a80}}*{box-sizing:border-box}body{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}h1,h2,h3{color:var(--text-h);font-weight:500}button{font:inherit}.app{flex-direction:column;min-height:100svh;display:flex}header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}header h1{font-size:var(--fs-title);margin:0}.brand{color:var(--accent);align-items:center;gap:11px;min-width:0;text-decoration:none;display:flex}.brand-mark{flex:none;width:30px;height:30px}.brand-text{flex-direction:column;gap:1px;min-width:0;display:flex}.brand-name{font-size:var(--fs-lg);letter-spacing:.055em;text-transform:uppercase;color:var(--text-h);white-space:nowrap;font-weight:700;line-height:1.05}.brand-tag{font-size:var(--fs-micro);letter-spacing:.19em;text-transform:uppercase;color:var(--text);white-space:nowrap;font-weight:600}.user-bar{align-items:center;gap:12px;display:flex}.auth-screen{justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.auth-card{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;width:100%;max-width:320px;padding:24px;display:flex}.auth-card h2{margin:0 0 4px}.auth-brand{border-bottom:1px solid var(--border);color:var(--accent);align-items:center;gap:11px;margin-bottom:4px;padding-bottom:14px;display:flex}.auth-mark{flex:none;width:34px;height:34px}.auth-brand-text{flex-direction:column;gap:2px;min-width:0;display:flex}.auth-brand-name{font-size:var(--fs-md);letter-spacing:.05em;text-transform:uppercase;color:var(--text-h);font-weight:700;line-height:1.1}.auth-brand-tag{font-size:var(--fs-micro);letter-spacing:.19em;text-transform:uppercase;color:var(--text);font-weight:600}.auth-card input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:4px;padding:8px 10px}.auth-card .link-btn{color:var(--accent);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:none;padding:4px 0}.layout{flex:1;grid-template-columns:280px 1fr;display:grid}.layout.buildings-hidden{grid-template-columns:1fr}.layout.buildings-hidden .building-picker{display:none}.header-left{align-items:center;gap:12px;min-width:0;display:flex}.header-left .panel-toggle{font-size:var(--fs-sm);border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:5px;flex:none;padding:6px 12px}.building-picker{border-right:1px solid var(--border);text-align:left;padding:16px}.building-picker h2{font-size:var(--fs-md)}.building-picker-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.dept-switcher{font-size:var(--fs-xs);color:var(--text);opacity:.7}.dept-switcher select{font-size:var(--fs-xs);padding:3px 4px}.building-picker h3{font-size:var(--fs-base);margin:20px 0 8px}.building-list{flex-direction:column;gap:4px;margin:0 0 16px;padding:0;list-style:none;display:flex}.building-list button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:8px 10px}.building-list button:hover{background:var(--accent-bg)}.building-list button.active{border-color:var(--accent-border);background:var(--accent-bg)}.building-row{align-items:center;gap:6px;display:flex}.building-row button{flex:1}.open-editor-link{font-size:var(--fs-xs);color:var(--accent);white-space:nowrap;text-decoration:none}.open-editor-link:hover{text-decoration:underline}button.delete-building-btn{text-align:center;border:1px solid var(--border);width:20px;height:20px;color:var(--text);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}button.delete-building-btn:hover{color:#fff;background:#e63946;border-color:#e63946}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg);color:var(--text-h);max-width:360px;box-shadow:var(--shadow,0 10px 30px #0000004d);border-radius:8px;padding:20px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.modal-actions .danger{color:#fff;background:#e63946;border-color:#e63946}.new-building-form{flex-direction:column;gap:8px;display:flex}.new-building-form input,.new-building-form select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:4px;padding:6px 8px}.template-checkbox{color:var(--text-h);align-items:center;gap:6px;font-size:.85em;display:flex}.template-checkbox input{width:auto}main{text-align:left;padding:0;display:flex}main>p{padding:16px}.editor-frame{border:none;flex:1;min-height:100%}.muted{color:var(--text);opacity:.7}.error{color:#e63946}.success{color:#2a9d8f}@media (width<=720px){header{flex-wrap:wrap;gap:8px;padding:12px 16px}header h1{font-size:var(--fs-lg)}.brand-name{font-size:var(--fs-base);white-space:normal}.brand-tag{display:none}.brand-mark{width:26px;height:26px}.layout{grid-template-rows:auto 1fr;grid-template-columns:1fr}.building-picker{border-right:none;border-bottom:1px solid var(--border);padding:12px}.editor-frame{min-height:70vh}}.admin-panel{text-align:left;max-width:640px;padding:24px}.admin-section{border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:20px}.admin-section h3{font-size:var(--fs-md);margin:0 0 6px}.admin-row{margin-bottom:12px}.admin-list{flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.admin-list li{border:1px solid var(--border);border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.invite-row{flex-direction:row;align-items:center}.invite-actions{flex-shrink:0;gap:6px;display:flex}.admin-inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-inline-form input,.admin-inline-form select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:4px;padding:6px 8px}.admin-logo-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-logo-preview{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:4px;max-width:120px;max-height:48px;padding:2px}.admin-logo-upload-btn{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;font-size:var(--fs-base);border-radius:4px;padding:6px 10px}.admin-logo-upload-btn:hover{background:var(--border)}
