body{margin:0}:root{--bg: #0b1220;--chrome: #111827;--elevated: #162033;--stroke: #243044;--text: #e5e7eb;--muted: #9ca3af;--accent: #22c55e;--danger: #f87171;--info: #60a5fa}body{font-family:Lato,sans-serif;margin:0;background:var(--bg);color:var(--text)}#root{min-height:100vh}button,input,select{font-family:inherit;color:inherit}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--chrome);border-right:1px solid var(--stroke);padding:16px;display:flex;flex-direction:column;min-height:100vh}.sidebar nav{flex:1}.nav-item.exit{margin-top:12px;border:1px solid var(--stroke)}.brand{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.brand span,.muted,.nav-item small,.page-title span,.field-label{color:var(--muted)}.nav-item{display:block;width:100%;text-align:left;border:none;border-radius:6px;padding:10px 12px;background:transparent;color:var(--muted);cursor:pointer;margin-bottom:4px}.nav-item small{display:block;font-size:12px}.nav-item.is-active{background:var(--elevated);color:var(--text)}.workspace{display:flex;flex-direction:column;min-width:0}.global-db{background:var(--chrome);border-bottom:1px solid var(--stroke);padding:14px 20px}.global-db-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.global-db-top p,.lede,.note{color:var(--muted);font-size:13px;margin:4px 0 0}.global-db-fields{display:grid;grid-template-columns:160px 1fr 1fr 1fr auto;gap:10px;align-items:end}.panel{padding:20px;display:flex;flex-direction:column;gap:14px}.page-title{display:flex;align-items:center;gap:10px}.page-title h1{font-size:24px;margin:0}.page-title span{font-size:12px}h2{font-size:16px;margin:0}h3{font-size:14px;margin:0}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:12px;font-weight:600}.required{color:var(--danger);font-weight:700}input[type=text],input[type=password],input:not([type]),input[type=color]{height:32px;border:1px solid var(--stroke);border-radius:6px;background:var(--elevated);padding:0 8px}input:disabled,.icon-select-trigger:disabled{opacity:.65;cursor:not-allowed}.password-input{position:relative}.password-input input{width:100%;box-sizing:border-box;padding-right:36px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--muted);padding:2px;cursor:pointer;display:flex;align-items:center}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.btn{border:none;border-radius:6px;padding:8px 12px;cursor:pointer;width:fit-content}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);color:#052b00;font-weight:600}.btn.secondary{background:var(--elevated);border:1px solid var(--stroke)}.btn.ghost{background:transparent}.dropzone{border:1px solid var(--stroke);background:var(--elevated);border-radius:8px;padding:20px 16px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted)}.dropzone.is-over{border-color:var(--accent);background:#163024;color:var(--text)}.dropzone-files{margin:8px 0 0;padding:0;list-style:none;text-align:left;width:min(100%,420px);color:var(--text)}.dropzone-files li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.callout span{white-space:pre-wrap}.icon-select{position:relative;min-width:168px}.icon-select-trigger,.icon-select-option{width:100%;display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border-radius:6px;border:1px solid var(--stroke);background:var(--elevated);cursor:pointer;text-align:left}.icon-select-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-select-chevron{color:var(--muted)}.icon-select-menu{position:absolute;z-index:20;left:0;right:0;top:36px;border:1px solid var(--stroke);background:var(--chrome);border-radius:6px;padding:4px}.icon-select-option{border:none;margin-bottom:2px}.icon-select-option.is-active{background:var(--elevated)}.setting-group{border:1px solid var(--stroke);border-radius:8px;overflow:hidden;background:var(--chrome)}.setting-group-title{padding:10px 14px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--stroke)}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:16px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--stroke)}.setting-group-body .setting-row:last-child{border-bottom:none}.setting-row-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.setting-row-label{font-size:14px}.setting-row-hint{font-size:12px;color:var(--muted)}.setting-row-control{justify-self:end;width:100%;display:flex;justify-content:flex-end}.setting-input{width:100%}.pill-row{display:flex;gap:8px}.pill{border:1px solid var(--stroke);background:transparent;border-radius:999px;padding:4px 10px;cursor:pointer}.pill.is-active{background:var(--elevated)}.callout{border:1px solid var(--stroke);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;max-width:420px}.callout.success{border-color:var(--accent)}.callout.danger{border-color:var(--danger)}.callout.info{border-color:var(--info)}.rule{border:none;border-top:1px solid var(--stroke);margin:0}.inline-end,.replace-row{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.stack{display:flex;flex-direction:column;gap:10px}.grid{width:100%;border-collapse:collapse}.grid th,.grid td{border:1px solid var(--stroke);padding:6px 8px}.grid td input{width:100%;box-sizing:border-box}.grid .empty{color:var(--muted);text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.gate{min-height:100vh;display:flex;justify-content:center;align-items:center}.gate-card{width:324px;display:flex;flex-direction:column;gap:10px;text-align:center}.gate-card input[type=password],.gate-card .password-input input{width:100%;box-sizing:border-box;height:40px}.gate-card .btn{width:100%;height:40px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center}.modal{background:var(--chrome);width:600px;max-height:500px;overflow:auto;padding:16px;border:1px solid var(--stroke);border-radius:8px}@media(max-width:900px){.app-shell,.global-db-fields,.grid-2,.grid-3,.setting-row{grid-template-columns:1fr}.setting-row-control{justify-content:flex-start}.modal{width:calc(100% - 24px)}}
