.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:var(--color-text);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.app-header h1{font-size:1.5rem;font-weight:600}.app-header nav{display:flex;gap:1.5rem;align-items:center}.app-header a{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s}.app-header a:hover{background-color:#ffffff1a}.app-main{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.button{padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius, 8px);font-size:1rem;cursor:pointer;transition:all .2s;font-weight:500}.button-primary{background-color:var(--color-primary, #3498db);color:#fff}.button-primary:hover{filter:brightness(.92)}.button-secondary{background-color:var(--color-secondary, #95a5a6);color:#fff}.button-secondary:hover{filter:brightness(.92)}.button-danger{background-color:var(--color-danger, #e74c3c);color:#fff}.button-danger:hover{filter:brightness(.92)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.form-group textarea{min-height:100px;resize:vertical}.card{background:#fff;border-radius:var(--border-radius, 8px);padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem}.card h2{margin-bottom:1rem;color:var(--color-text)}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.table th,.table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.table th{background-color:#f8f9fa;font-weight:600;color:var(--color-text)}.table tr:hover{background-color:#f8f9fa}.error-message{color:var(--color-danger, #e74c3c);padding:1rem;background-color:#fee;border-radius:4px;margin-bottom:1rem}.success-message{color:var(--color-success, #27ae60);padding:1rem;background-color:#dfe;border-radius:4px;margin-bottom:1rem}.encounter-page{display:grid;gap:16px}.encounter-title{margin-top:8px;font-size:1.5rem}.encounter-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.encounter-toolbar .button{display:inline-flex;align-items:center;gap:8px}.encounter-edit-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.enc-manage-widgets{border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:12px;padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.enc-manage-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;grid-column:1 / -1}.enc-checkbox{display:inline-flex;gap:8px;align-items:center;font-size:.9rem}.encounter-page.is-editing .react-grid-layout{padding:6px;border:1px dashed rgba(0,0,0,.14);border-radius:12px;background-image:linear-gradient(to right,rgba(15,23,42,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,23,42,.04) 1px,transparent 1px);background-size:calc(100% / 12) 36px}.enc-widget{height:100%;border:1px solid rgba(15,23,42,.1);border-radius:12px;background:#fff;display:flex;flex-direction:column;overflow:hidden}.enc-widget.is-collapsed{min-height:60px}.enc-widget-header{border-bottom:1px solid rgba(15,23,42,.08);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fafafa}.enc-widget-title-wrap{display:inline-flex;align-items:center;gap:8px}.enc-widget-title-wrap h2{font-size:.95rem;margin:0}.enc-widget-drag-handle{cursor:grab;color:#475569;display:inline-flex}.enc-widget-body{padding:12px;overflow:auto}.enc-icon-button{border:1px solid rgba(15,23,42,.15);border-radius:8px;background:#fff;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.enc-table{width:100%;border-collapse:collapse;font-size:.9rem}.enc-table th,.enc-table td{text-align:left;border-bottom:1px solid rgba(15,23,42,.1);padding:8px 6px}.enc-empty-state{color:#64748b;font-size:.9rem}.enc-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.enc-label{font-size:.75rem;color:#64748b}.enc-value{font-size:.9rem;margin-top:2px}.enc-quick-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.enc-chip-link{border:1px solid rgba(15,23,42,.16);border-radius:999px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;background:#fff;text-decoration:none;color:inherit;font-size:.82rem;cursor:pointer}.enc-simple-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.enc-simple-list li{border:1px solid rgba(15,23,42,.1);border-radius:8px;padding:8px;background:#fff;font-size:.9rem}.enc-inline-form{display:flex;gap:8px;margin-bottom:10px}.enc-inline-form input{flex:1;padding:8px 10px;border:1px solid rgba(15,23,42,.16);border-radius:8px}.enc-widget-action{margin-top:10px}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.page{display:flex;flex-direction:column;gap:16px}.pageHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pageHeaderTitleWrap{min-width:0}.pageTitle{font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--color-text)}.pageSubtitle{margin-top:4px;color:#2c3e50bf;font-size:14px;line-height:1.4}.pageActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:16px;box-shadow:0 1px 2px #0000000f}.cardTitle{font-weight:700;margin-bottom:10px}.muted{color:#2c3e50bf}.emptyState{display:grid;place-items:center;padding:28px;text-align:center;gap:10px}.emptyTitle{font-weight:700}.emptyBody{color:#2c3e50bf;font-size:14px;line-height:1.4;max-width:520px}.divider{height:1px;background:#0000000f;margin:12px 0}.shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;background:var(--color-background)}.shellCollapsed{grid-template-columns:76px 1fr}.sidebar{background:#0b1220;color:#ffffffe6;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;padding:14px;gap:14px}.brandRow{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.01em}.brandMark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#2dd4bf,#60a5fa);box-shadow:0 8px 18px #2dd4bf2e}.collapseBtn{background:transparent;border:1px solid rgba(255,255,255,.18);color:#ffffffd9;border-radius:10px;padding:6px 8px;cursor:pointer}.navGroupTitle{margin-top:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.nav{display:flex;flex-direction:column;gap:6px}.navLink{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;color:#ffffffd9;text-decoration:none}.navLink:hover{background:#ffffff14}.navLinkActive{background:#60a5fa2e;border:1px solid rgba(96,165,250,.25)}.navIcon{width:18px;text-align:center;opacity:.9}.collapsedText,.shellCollapsed .navLink span,.shellCollapsed .navGroupTitle,.shellCollapsed .brandText{display:none}.shellCollapsed .sidebar{padding:14px 10px}.main{display:flex;flex-direction:column;min-width:0}.topbar{height:56px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:12px}.topbarLeft{display:flex;align-items:center;gap:10px;min-width:0}.envBadge{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#00000008;color:#2c3e50d9}.topbarRight{display:flex;align-items:center;gap:10px}.select{border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:8px 10px;background:#fff}.userPill{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#00000005;color:#2c3e50e6;font-size:13px}.content{padding:18px;max-width:1400px;width:100%;margin:0 auto}@media (max-width: 980px){.shell{grid-template-columns:76px 1fr}.sidebar .brandText,.sidebar .navGroupTitle,.sidebar .navLink span{display:none}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #3498db;--color-secondary: #95a5a6;--color-success: #27ae60;--color-danger: #e74c3c;--color-warning: #f39c12;--color-info: #3498db;--color-background: #f5f5f5;--color-text: #2c3e50;--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-heading: var(--font-primary);--spacing-unit: 8px;--border-radius: 8px}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}
