:root{--accent:#007aff;--bg:#f5f5f7;--surface:#fff;--surface-alt:#f2f2f7;--text:#1d1d1f;--text-2:#6e6e73;--border:#d2d2d7;--danger:#ff3b30;--success:#34c759;--radius:12px;--radius-s:8px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, sans-serif;--fs:14px;--sp:8px;--gap:calc(var(--sp) * 2);--shadow:0 1px 2px #0000000a, 0 4px 16px #0000000f;--blur:saturate(180%) blur(20px);--accent-soft:color-mix(in srgb, var(--accent) 12%, transparent);--mono:"SF Mono", ui-monospace, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:var(--fs);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;cursor:default;line-height:1.4}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit]),textarea,[contenteditable=true]){cursor:text}:where(input:read-only:not([type=checkbox],[type=radio])){cursor:default}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:1.7em}h2{font-size:1.3em}h3{font-size:1.05em}a{color:var(--accent);text-decoration:none}.muted{color:var(--text-2)}.small{font-size:.86em}.mono{font-family:var(--mono)}.row{gap:var(--sp);align-items:center;display:flex}.col{gap:var(--sp);flex-direction:column;display:flex}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.spacer{flex:1}.btn{height:calc(var(--sp) * 4);padding:0 calc(var(--sp) * 1.75);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;font-weight:500;transition:background .15s,border-color .15s,transform 50ms,opacity .15s;display:inline-flex}.btn:hover{background:var(--surface-alt)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:color-mix(in srgb, var(--accent) 88%, #000)}.btn-danger{color:var(--danger)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--accent-soft)}.btn-sm{height:calc(var(--sp) * 3.25);padding:0 calc(var(--sp) * 1.1);font-size:.92em}.btn-icon{width:calc(var(--sp) * 4);padding:0}.input,.select,textarea.input{width:100%;height:calc(var(--sp) * 4);padding:0 calc(var(--sp) * 1.25);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);color:var(--text);font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}textarea.input{height:auto;min-height:80px;padding:var(--sp) calc(var(--sp) * 1.25);resize:vertical}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input.invalid{border-color:var(--danger)}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-2) 50%), linear-gradient(135deg, var(--text-2) 50%, transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding-right:28px}.checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>label{color:var(--text-2);font-size:.86em;font-weight:500}.field .req,.field.invalid>label{color:var(--danger)}.field.invalid .input,.field.invalid .select,.field.invalid .btn{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 12%, transparent)}.field-error{color:var(--danger)}.table td.edit.invalid{background:color-mix(in srgb, var(--danger) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 55%, transparent)}.form-grid{gap:calc(var(--sp) * 1.5) calc(var(--sp) * 2);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:calc(var(--sp) * 2);border:1px solid color-mix(in srgb, var(--border) 50%, transparent)}.card+.card{margin-top:var(--gap)}.panels{gap:var(--gap)}:is(.panels,.row,.settings-pair,.settings-groups,.preview-grid,.form-grid)>.card+.card{margin-top:0}.col:not(.panels)>.card+.card{margin-top:calc(var(--gap) - var(--sp))}.card-title{align-items:center;gap:var(--sp);margin-bottom:calc(var(--sp) * 1.5);display:flex}.table-wrap{border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);overflow:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--text-2);padding:calc(var(--sp) * .9) calc(var(--sp) * 1.25);background:var(--surface-alt);z-index:1;white-space:nowrap;font-size:.86em;font-weight:500;position:sticky;top:0}.table td{padding:calc(var(--sp) * .9) calc(var(--sp) * 1.25);border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);vertical-align:middle}.table tr.clickable{cursor:pointer}.table tr.clickable.selectable{cursor:default;-webkit-user-select:none;user-select:none}.table tr.clickable:hover td,.table tr.selected td{background:var(--accent-soft)}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table td.edit{padding:3px 4px}.table td.edit .input,.table td.edit .select{height:calc(var(--sp) * 3.5);background:0 0;border-color:#0000}.table td.edit .input:focus,.table td.edit .select:focus{border-color:var(--accent);background:var(--surface)}.table tr.deleted td{color:var(--text-2);text-decoration:line-through}.table tfoot td{background:var(--surface-alt);font-weight:600}.sidebar{background:color-mix(in srgb, var(--surface) 72%, transparent);width:260px;height:100%;-webkit-backdrop-filter:var(--blur);border-right:1px solid var(--border);padding:calc(var(--sp) * 1.5) var(--sp);flex-shrink:0;overflow:auto}.sidebar .brand{padding:var(--sp) calc(var(--sp) * 1.25) calc(var(--sp) * 2);font-size:1.05em;font-weight:600}.cfg-logo{box-sizing:border-box;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.cfg-logo img{display:block}.brand-stacked{row-gap:var(--sp);flex-wrap:wrap}.brand-break{flex-basis:100%;height:0}.sidebar .section{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);padding:calc(var(--sp) * 1.5) calc(var(--sp) * 1.25) 4px;font-size:.78em;font-weight:600}.nav-item{align-items:center;gap:var(--sp);padding:6px calc(var(--sp) * 1.25);border-radius:var(--radius-s);cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;display:flex}.nav-item:hover{background:var(--accent-soft)}.nav-item.active{background:var(--accent);color:#fff}.nav-item.active .muted{color:#fffc}.toolbar{align-items:center;gap:var(--sp);padding:calc(var(--sp) * 1.25) calc(var(--sp) * 2.5);background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:var(--blur);border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);z-index:5;flex-wrap:wrap;display:flex;position:sticky;top:0}.tabs{background:var(--surface-alt);border-radius:var(--radius-s);flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.tab{border-radius:calc(var(--radius-s) - 2px);cursor:pointer;color:var(--text-2);font-weight:500;font:inherit;background:0 0;border:none;padding:5px 12px}.tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.badge{background:var(--surface-alt);color:var(--text-2);border-radius:999px;align-items:center;padding:1px 8px;font-size:.8em;font-weight:600;display:inline-flex}.badge.ok{background:color-mix(in srgb, var(--success) 16%, transparent);color:color-mix(in srgb, var(--success) 70%, var(--text))}.badge.warn{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.layout{height:100%;display:flex}.main{flex:1;min-width:0;height:100%;overflow:auto}.page{padding:calc(var(--sp) * 2.5);max-width:var(--page-width,none)}.empty{padding:calc(var(--sp) * 6);text-align:center;color:var(--text-2)}.tree{font-size:.95em}.tree-node{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;display:flex}.tree-node:hover{background:var(--accent-soft)}.tree-node.active{background:var(--accent);color:#fff}.tree-node.disabled{color:var(--text-2);opacity:.6;cursor:default}.tree-node .chev{text-align:center;width:12px;color:var(--text-2);font-size:10px;display:inline-block}.tree-node.active .chev{color:#fff}.tree-children{margin-left:14px}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#00000040;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:calc(var(--radius) + 4px);flex-direction:column;width:min(720px,100%);max-height:90vh;display:flex;box-shadow:0 20px 60px #00000040}.modal-wide{width:min(1000px,100%)}.modal-head{padding:calc(var(--sp) * 2) calc(var(--sp) * 2.5) var(--sp);align-items:center;gap:var(--sp);display:flex}.modal-body{padding:var(--sp) calc(var(--sp) * 2.5);overflow:auto}.modal-foot{padding:calc(var(--sp) * 1.5) calc(var(--sp) * 2.5) calc(var(--sp) * 2);gap:var(--sp);justify-content:flex-end;display:flex}.toasts{z-index:200;flex-direction:column;gap:8px;max-width:440px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:var(--blur);border-radius:var(--radius);white-space:pre-wrap;border-left:4px solid var(--accent);padding:12px 16px;box-shadow:0 8px 30px #0000002e}.toast.error{border-left-color:var(--danger)}.toast.ok{border-left-color:var(--success)}.ref-field{position:relative}.ref-field .input{cursor:pointer;padding-right:60px}.ref-field .ref-actions{gap:2px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.ref-field .ref-actions button{color:var(--text-2);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;padding:4px 6px}.ref-field .ref-actions button:hover{background:var(--accent-soft);color:var(--accent)}.login{justify-content:center;align-items:center;min-height:100%;padding:20px;display:flex}.login .card{width:360px;padding:32px}.code-editor{border:1px solid var(--border);border-radius:var(--radius-s);overflow:hidden}.issues{color:var(--danger);white-space:pre-wrap}.preview-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.swatch{border:1px solid var(--border);cursor:pointer;border-radius:8px;width:28px;height:28px;padding:0}.report-table .rg td{background:color-mix(in srgb, var(--accent) 6%, var(--surface));font-weight:600}.report-table .rg1 td{background:color-mix(in srgb, var(--accent) 3%, var(--surface))}.report-table .rg2 td,.report-table .rg3 td{background:var(--surface)}.report-table .rt td{background:var(--surface-alt);border-top:2px solid var(--border);font-weight:700}.report-table td.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.twisty{width:14px;color:var(--text-2);display:inline-block}.query-text{width:100%;min-height:220px;font-family:var(--mono);tab-size:4;white-space:pre;resize:vertical;font-size:13px;line-height:1.5}.sql-box{background:var(--surface-alt);padding:var(--sp);border-radius:var(--radius-s);white-space:pre-wrap;word-break:break-all;max-height:200px;margin:0;overflow:auto}.form-notice{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-s);color:var(--text-secondary);padding:10px 14px}.settings-list .select{max-width:260px}.print-only{display:none}@media print{.sidebar,.no-print,.toast-stack{display:none!important}.print-only{display:block}.layout,.main{height:auto;display:block;overflow:visible}.page{max-width:none;padding:0}.table-wrap{border:none;overflow:visible}.table th{position:static}body{background:#fff}}.obj-icon{object-fit:contain;opacity:.85;border-radius:3px;flex:none;justify-content:center;align-items:center;display:inline-flex}.nav-item.active .obj-icon{opacity:1}.sidebar .section.row{gap:6px}.icon-picker .row{flex-wrap:wrap;gap:6px}.icon-current{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);width:34px;height:34px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.icon-grid{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);grid-template-columns:repeat(auto-fill,34px);gap:4px;max-width:420px;margin-top:8px;padding:8px;display:grid}.icon-grid button{border-radius:var(--radius-s);width:34px;height:34px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.icon-grid button:hover{background:var(--accent-soft)}.icon-grid button.active{background:var(--accent);color:#fff}.form-layout{gap:calc(var(--sp) * 1.5) calc(var(--sp) * 2);display:grid}.form-layout>div{min-width:0}fieldset.readonly{opacity:.75;border:0;min-width:0;margin:0;padding:0}@media (width<=700px){.form-layout{grid-template-columns:1fr!important}.form-layout>div{grid-column:auto!important}}@container pane (width<=640px){.form-layout{grid-template-columns:1fr!important}.form-layout>div{grid-column:auto!important}.page{padding:calc(var(--sp) * 1.5)}.toolbar{padding:var(--sp) calc(var(--sp) * 1.5)}}.form-designer{flex-direction:column;gap:12px;display:flex}.fd-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt);padding:10px}.fd-group-head{gap:6px;margin-bottom:8px}.fd-grid{gap:8px;min-height:48px;display:grid}.fd-field{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);cursor:grab;-webkit-user-select:none;user-select:none;padding:6px 10px}.fd-field:hover{border-color:var(--accent)}.fd-field.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.fd-field.hidden{opacity:.5;border-style:dashed}.fd-label{margin-bottom:4px;font-size:.85em;font-weight:500}.fd-input{color:var(--text-2);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--bg);padding:3px 8px;font-size:.85em}.fd-empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius-s);grid-column:1/-1;padding:12px}.cp-zone{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt);padding:8px 10px}.cp-zone.nowhere{border-style:dashed}.cp-zone.over,.cp-menu.over{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cp-zone-head{margin-bottom:6px}.cp-items{flex-wrap:wrap;align-items:flex-start;gap:6px;min-height:30px;display:flex}.cp-chip{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:5px 10px;font-size:.9em;font-weight:500;display:inline-flex}.cp-chip:hover,.cp-chip.over{border-color:var(--accent)}.cp-chip.dragging{opacity:.4}.cp-menu{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--bg);min-width:160px;padding:6px}.cp-menu-head{gap:4px;margin-bottom:6px}.cp-menu-title{width:140px;height:26px;font-size:.9em;font-weight:600}.import-drop{border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:6px;padding:40px 16px;display:flex}.import-drop:hover{border-color:var(--accent);background:var(--accent-soft)}.report-table tfoot td{background:var(--surface-alt);font-weight:700}.cmd-menu{display:inline-block;position:relative}.cmd-menu-list{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);flex-direction:column;min-width:200px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000001f}.cmd-menu-list button{text-align:left;cursor:pointer;font:inherit;color:inherit;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.cmd-menu-list button:hover{background:var(--surface-alt)}.cmd-menu-list{max-height:60vh;overflow-y:auto}.cmd-menu .menu-chevron{opacity:.6;flex:none;margin-right:-4px}.form-commands{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.form-command{align-items:flex-end;height:100%;padding-bottom:2px;display:flex}.fd-input.fd-button{color:var(--accent);background:var(--surface);font-weight:500;display:inline-block}.module-hint{max-width:900px}.toolbar h2.grow{min-width:260px}.cfg-head{z-index:5;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:var(--blur);position:sticky;top:0}.cfg-head .toolbar{-webkit-backdrop-filter:none;background:0 0;position:static}.cfg-tabs{background:0 0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.page,.modal{animation:.16s ease-out fade-in}.loading-shell{min-height:60vh}.table-wrap tbody{transition:opacity .15s}.table-wrap.busy tbody{opacity:.55;transition-delay:.3s}@media (prefers-reduced-motion:reduce){.page,.modal{animation:none}}.lang-switch{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);color:var(--text);font:inherit;margin:8px 12px;padding:4px 6px;font-size:13px}.form-element{flex-direction:column;gap:4px;display:flex}.form-element-label{color:var(--text-2);font-size:12px}.form-element-html{color-scheme:normal;background:0 0;border:0;width:100%}.list-elements{flex-direction:column;gap:12px;display:flex}.basis-rule{border-top:1px solid var(--border);margin-top:8px;padding:10px 0 4px}.basis-mapping{margin-top:8px}.basis-mapping .table td:first-child{width:40%}:is(.modal-wide:has(.pdf-mapper),.modal-wide:has(.pdf-filler)){width:min(1360px,100%)}.pdf-pages{flex-direction:column;gap:12px;width:100%;display:flex}.pdf-page{background:#fff;border-radius:2px;position:relative;overflow:hidden;box-shadow:0 1px 4px #0000002e}.pdf-page canvas{display:block}.pdf-layer{position:absolute;inset:0}.pdf-field-box{position:absolute}.pdf-field{color:#0a4fa0;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#0071e314;border:1px dashed #0071e38c;border-radius:2px;width:100%;height:100%;padding:0 3px;font-size:10px;line-height:1.1;overflow:hidden}.pdf-field.checkbox,.pdf-field.radio{text-align:center;padding:0;font-weight:700}.pdf-field:hover{background:#0071e32e}.pdf-field.mapped{color:#126b37;background:#1e965024;border-style:solid;border-color:#1e9650b3}.pdf-field.selected{outline:2px solid var(--accent);outline-offset:1px;background:#0071e340}.pdf-mapper{grid-template-columns:1fr 300px;align-items:start;gap:16px;display:grid}.pdf-mapper-pages{background:var(--bg-2,#f0f0f2);border-radius:var(--radius-s);max-height:72vh;padding:12px;overflow:auto}.pdf-mapper-side{flex-direction:column;gap:10px;display:flex;position:sticky;top:0}.pdf-field-name{word-break:break-all}.pdf-filler{background:var(--bg-2,#f0f0f2);border-radius:var(--radius-s);max-height:72vh;padding:12px;overflow:auto}.pdf-input{color:#000;resize:none;background:#0071e312;border:none;width:100%;height:100%;margin:0;padding:0 2px;font-size:11px}.pdf-input:focus{outline:1px solid var(--accent);background:#0071e324}input[type=checkbox].pdf-input,input[type=radio].pdf-input{width:100%;height:100%;margin:0}@media (width<=800px){.pdf-mapper{grid-template-columns:1fr}.pdf-mapper-side{position:static}}.ws{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.ws.ws-left{flex-direction:row}.ws-area{flex:1;min-width:0;min-height:0;display:flex}.ws-pane{flex:1 1 0;min-width:0;height:100%;position:relative;overflow:auto;container:pane/inline-size}.ws-area:has(.ws-divider) .ws-pane{flex-grow:0;flex-shrink:0}.ws-pane.focused{box-shadow:inset 0 2px 0 var(--accent)}.ws-pane-head{z-index:6;padding:4px calc(var(--sp) * 1.5);color:var(--text-2);background:var(--surface-alt);border-bottom:1px solid var(--border);font-size:.85em;position:sticky;top:0}.ws-pane-head+.ws-view .toolbar{top:29px}.ws-divider{cursor:col-resize;background:var(--border);flex:0 0 6px;position:relative}.ws-divider:hover,body.ws-resizing .ws-divider{background:var(--accent)}body.ws-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.ws-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ws-x{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:0 2px;font-size:15px;line-height:1}.ws-x:hover{background:var(--surface-alt);color:var(--text)}.ws-strip{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 72%, transparent);scrollbar-width:thin;flex-shrink:0;gap:2px;padding:6px 8px 0;display:flex;overflow:auto hidden}.ws-tab{border-radius:var(--radius-s) var(--radius-s) 0 0;cursor:pointer;min-width:90px;max-width:220px;color:var(--text-2);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-bottom:none;align-items:center;gap:6px;padding:6px 8px 6px 12px;font-size:.92em;display:flex}.ws-tab .ws-title{flex:1}.ws-tab:hover{background:var(--accent-soft)}.ws-tab.shown{color:var(--text)}.ws-tab.active{background:var(--bg);color:var(--text);border-color:var(--border);margin-bottom:-1px;font-weight:500}.ws-side{border-right:1px solid var(--border);width:220px;height:100%;padding:var(--sp) 6px;background:color-mix(in srgb, var(--surface) 50%, transparent);flex-shrink:0;overflow:auto}.ws-side-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);padding:4px 8px;font-size:.78em;font-weight:600}.ws-group{margin-top:6px}.ws-group-title{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;padding:4px 8px 2px;font-size:.78em;font-weight:600;overflow:hidden}.ws-item{border-radius:var(--radius-s);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:4px 6px 4px 14px;font-size:.92em;display:flex}.ws-item .ws-title{flex:1}.ws-item:hover{background:var(--accent-soft)}.ws-item.shown{background:var(--surface-alt)}.ws-item.active{background:var(--accent);color:#fff}.ws-item.active .ws-x{color:#ffffffd9}@media (width<=900px){.ws.ws-left{flex-direction:column}.ws-side{border-right:none;border-bottom:1px solid var(--border);width:auto;height:auto;max-height:30vh}}.contact-cell{flex-wrap:nowrap;gap:4px}.contact-cell>:first-child{flex:1;min-width:0}.contact-link{border-radius:var(--radius-s);width:26px;height:26px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.contact-link:hover{background:var(--accent-soft)}.ls-cols{flex-direction:column;gap:4px;max-height:55vh;display:flex;overflow:auto}.ls-col{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:grab;align-items:center;gap:10px;padding:6px 10px;display:flex}.ls-col.dragging{opacity:.4}.ls-col.over{border-color:var(--accent);box-shadow:0 -2px 0 var(--accent)}.ls-handle{color:var(--text-2);cursor:grab;-webkit-user-select:none;user-select:none;font-size:15px}.ls-rule{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:10px;display:flex}.ls-rule.off{opacity:.55}.ls-color{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;width:28px;height:22px;padding:0}.ls-preview{border:1px dashed var(--border);border-radius:6px;padding:2px 10px;font-size:13px}.setting{border-top:1px solid var(--border);grid-template-columns:minmax(200px,1fr) auto;align-items:center;gap:4px 16px;padding:12px 0;display:grid}.setting:first-child{border-top:0;padding-top:0}.setting-label{font-weight:500}.setting-hint{grid-column:1/-1;margin:0;line-height:1.45}@container pane (width<=640px){.setting{grid-template-columns:1fr}}.ask-overlay{z-index:200}.modal.ask{width:min(440px,100%)}.ask-text{white-space:pre-wrap;margin:0 0 8px;line-height:1.45}.loading-bar{z-index:300;pointer-events:none;opacity:0;height:2px;transition:opacity .2s;position:fixed;top:0;left:0;right:0;overflow:hidden}.loading-bar.on{opacity:1}.loading-bar:before{content:"";background:var(--accent);border-radius:2px;width:35%;animation:1.1s ease-in-out infinite loading-slide;position:absolute;top:0;bottom:0}@keyframes loading-slide{0%{left:-35%}to{left:100%}}@media (prefers-reduced-motion:reduce){.loading-bar:before{opacity:.5;width:100%;animation:none;left:0}}.skeleton-row td{opacity:0;animation:.2s ease-out .15s forwards fade-in-late}.skeleton{background:linear-gradient(90deg, var(--border) 0%, color-mix(in srgb, var(--border) 45%, transparent) 50%, var(--border) 100%);vertical-align:middle;background-size:200% 100%;border-radius:5px;height:10px;animation:1.4s ease-in-out infinite skeleton-shimmer;display:inline-block}@keyframes fade-in-late{to{opacity:1}}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}.skeleton-row td{opacity:1;animation:none}}.settings-pair{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.settings-groups{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 24px;display:grid}.settings-group{flex-direction:column;gap:8px;display:flex}.settings-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);font-size:.78em;font-weight:600}.danger-zone>.card{border:1px solid color-mix(in srgb, var(--danger) 35%, transparent)}.danger-zone .card-title h3{color:var(--danger)}a.link{color:var(--accent);cursor:pointer;text-decoration:none}a.link:hover{text-decoration:underline}.bell{margin-left:auto;position:relative}.bell-count{background:var(--danger);color:#fff;text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:-2px;right:-4px}.note-item{border-radius:var(--radius-s);background:var(--surface-alt);padding:8px 10px}.note-item.clickable{cursor:pointer}.logo-editor{gap:var(--gap);grid-template-columns:1fr 260px;align-items:start;display:grid}.logo-preview{gap:var(--sp);padding:var(--sp);border-radius:var(--radius-s);background:color-mix(in srgb, var(--surface) 72%, var(--surface-alt));border:1px solid var(--border);flex-direction:column;display:flex}.logo-preview .brand{min-height:40px;font-size:1.05em;font-weight:600}@media (width<=900px){.logo-editor{grid-template-columns:1fr}}.update-notice{z-index:190;border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 92%, transparent);max-width:min(560px,100vw - 32px);-webkit-backdrop-filter:var(--blur);align-items:center;gap:12px;padding:10px 12px 10px 16px;animation:.25s ease-out update-in;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000024}.update-text{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:13px;display:flex}.update-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.update-pill{z-index:190;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:var(--blur);color:var(--text);font:inherit;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:inline-flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}@keyframes update-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.button-icons{flex-direction:column;gap:6px;display:flex}.button-icons-row{grid-template-columns:200px auto auto;justify-content:start;align-items:start;gap:12px;display:grid}.button-icons-row>span{padding-top:6px}.segmented{border-radius:var(--radius-s);background:var(--surface-alt);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);padding:2px;display:inline-flex}.segmented button{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 12px;font-size:.92em;font-weight:500;transition:background .15s,color .15s}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}.kanban-wrap{flex:1;min-height:0;overflow:auto}.kanban-wrap .kanban{transition:opacity .15s}.kanban-wrap.busy .kanban{opacity:.55;transition-delay:.3s}.kanban{gap:calc(var(--sp) * 1.5);align-items:flex-start;min-height:100%;display:flex}.kanban-col{background:var(--surface-alt);border-radius:var(--radius);max-height:100%;padding:var(--sp);border:1px solid #0000;flex-direction:column;flex:0 0 272px;transition:border-color .12s,background .12s;display:flex}.kanban-col.over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface-alt))}.kanban-head{align-items:center;gap:var(--sp);padding:2px 4px var(--sp);font-size:.92em;font-weight:600;display:flex}.kanban-count{background:var(--surface);min-width:20px;color:var(--text-2);text-align:center;border-radius:10px;padding:0 6px;font-size:.86em;font-weight:500}.kanban-cards{gap:var(--sp);flex-direction:column;min-height:40px;display:flex;overflow-y:auto}.kanban-card{background:var(--surface);border-radius:var(--radius-s);padding:calc(var(--sp) * 1.25);box-shadow:var(--shadow);cursor:grab;-webkit-user-select:none;user-select:none;flex-direction:column;gap:4px;transition:opacity .12s,box-shadow .12s;display:flex}.kanban-card:hover{box-shadow:0 0 0 1px var(--accent-soft), var(--shadow)}.kanban-card.locked{cursor:pointer}.kanban-card.dragging{opacity:.4}.kanban-card.deleted .kanban-title{color:var(--text-2);text-decoration:line-through}.kanban-title{overflow-wrap:anywhere;font-weight:500}.kanban-field{justify-content:space-between;gap:var(--sp);display:flex}.kanban-field>span:last-child{text-align:right;overflow-wrap:anywhere}
