:root{--app-blue:#3f6f9f;--app-gold:#c4933d;--app-coral:#b75e55;--app-green:#328263;--app-bg:#f3f6f6;--app-panel:#fff;--app-line:#cfdddd;--app-muted:#687a7e}
*{box-sizing:border-box;letter-spacing:0}.research-app-page{margin:0;color:#172629;background:var(--app-bg);font-family:Lato,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.research-app-page button,.research-app-page input,.research-app-page select,.research-app-page textarea{font:inherit;letter-spacing:0}.apps-shell{min-height:calc(100dvh - var(--ff-shell-height));}.apps-hub{max-width:1500px;margin:0 auto;padding:44px clamp(20px,5vw,74px) 72px}.apps-hub-head{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:32px;padding-bottom:28px;border-bottom:1px solid var(--app-line)}.apps-hub-head h1{max-width:850px;margin:4px 0 10px;font-size:42px;line-height:1.06}.apps-hub-head>div>p:last-child{max-width:800px;margin:0;color:var(--app-muted);font-size:16px;line-height:1.55}.apps-hub-head>span{display:grid;grid-template-columns:38px 1fr;align-items:center;padding:14px;border-left:4px solid var(--app-blue);background:#e8f0f7}.apps-hub-head>span i{grid-row:1/3;font-size:26px;color:var(--app-blue)}.apps-hub-head>span strong{font-size:12px}.apps-hub-head>span small{font-size:9px;color:var(--app-muted)}.apps-launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:30px 0}.app-launch{min-width:0;display:grid;grid-template-rows:auto auto auto 1fr auto;align-items:start;padding:24px;border:1px solid var(--app-line);border-top:5px solid var(--cadet);background:#fff}.app-launch:nth-child(2){border-top-color:var(--app-gold)}.app-launch:nth-child(3){border-top-color:var(--app-blue)}.app-launch>i{width:48px;height:48px;display:grid;place-items:center;margin-bottom:18px;color:var(--cadet-deep);background:var(--cadet-soft);font-size:24px}.app-launch:nth-child(2)>i{color:#745414;background:#fbf0d7}.app-launch:nth-child(3)>i{color:#31597f;background:#e2edf7}.app-launch h2{margin:3px 0 8px;font-size:22px}.app-launch>p:not(.eyebrow){max-width:400px;margin:0 0 24px;color:var(--app-muted);line-height:1.5}.app-launch>a,.app-disabled{min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border:1px solid var(--cadet-dark);color:#fff;background:var(--cadet-deep);font-size:12px;font-weight:850;text-decoration:none}.app-launch>a:hover{background:#163f43}.app-launch.disabled{opacity:.55}.app-disabled{justify-content:flex-start;gap:8px;border-color:#d7dddd;color:#738084;background:#eef1f1}.research-layer{display:grid;grid-template-columns:330px minmax(0,1fr);gap:36px;padding:31px 0;border-top:1px solid var(--app-line)}.research-layer h2{margin:5px 0;font-size:25px}.research-feature-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--app-line);border-left:1px solid var(--app-line)}.research-feature-grid span{min-width:0;min-height:96px;display:grid;grid-template-columns:26px 1fr;align-content:center;padding:12px;border-right:1px solid var(--app-line);border-bottom:1px solid var(--app-line);background:#fff}.research-feature-grid i{grid-row:1/3;color:var(--cadet-dark);font-size:17px}.research-feature-grid b{font-size:11px}.research-feature-grid small{margin-top:3px;color:var(--app-muted);font-size:8px;line-height:1.35}.eyebrow{margin:0;color:var(--cadet-dark);font-size:9px;font-weight:900;text-transform:uppercase}
.app-commandbar{height:58px;display:flex;align-items:stretch;border-bottom:1px solid var(--app-line);background:#fff}.app-suite-home{width:52px;display:grid;place-items:center;border-right:1px solid var(--app-line);color:var(--cadet-deep);font-size:18px;text-decoration:none}.app-identity{min-width:260px;display:flex;align-items:center;gap:10px;padding:0 16px;border-right:1px solid var(--app-line)}.app-identity>i{width:32px;height:32px;display:grid;place-items:center;color:#fff;background:var(--cadet-deep);font-size:15px}.app-identity span{display:grid}.app-identity small{color:var(--app-muted);font-size:8px;font-weight:850;text-transform:uppercase}.app-identity strong{font-size:13px}.app-commandbar nav{display:flex;align-items:stretch}.app-commandbar nav a{min-width:120px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border-right:1px solid #e4ebeb;border-bottom:3px solid transparent;color:#5e7074;font-size:11px;font-weight:800;text-decoration:none}.app-commandbar nav a.active{border-bottom-color:var(--cadet-dark);color:var(--cadet-deep);background:#eff6f6}.app-command-actions{display:flex;align-items:center;gap:6px;margin-left:auto;padding:0 12px}.app-command-actions button,.app-project-rail button,.app-suite-toolbar button,.app-icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--app-line);border-radius:4px;color:var(--cadet-deep);background:#fff;cursor:pointer}.app-command-actions button:hover,.app-project-rail button:hover,.app-icon-button:hover{border-color:var(--cadet);background:#edf6f6}
.app-workspace{height:calc(100dvh - var(--ff-shell-height) - 58px);display:grid;grid-template-columns:230px minmax(560px,1fr) 310px;overflow:hidden}.app-project-rail,.app-inspector{min-width:0;display:flex;flex-direction:column;background:#f9fbfb}.app-project-rail{border-right:1px solid var(--app-line)}.app-project-rail>header{height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--app-line);font-size:10px;font-weight:900;text-transform:uppercase}.app-project-rail>header button{width:30px;height:30px}.app-project-search{height:42px;display:flex;align-items:center;gap:7px;margin:9px;border:1px solid var(--app-line);background:#fff;padding:0 10px}.app-project-search i{color:#7a8b8e}.app-project-search input{min-width:0;width:100%;border:0;outline:0;font-size:10px;background:transparent}.app-project-list{min-height:0;display:grid;align-content:start;overflow:auto;padding:0 7px}.app-project-item{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;padding:10px 8px;border:0;border-left:3px solid transparent;text-align:left;background:transparent;cursor:pointer}.app-project-item:hover{background:#eef4f4}.app-project-item.active{border-left-color:var(--cadet-dark);background:#e4f0f0}.app-project-item>i{width:30px;height:30px;display:grid;place-items:center;color:var(--cadet-deep);background:#dceaea}.app-project-item span{min-width:0;display:grid}.app-project-item strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.app-project-item small{margin-top:2px;color:var(--app-muted);font-size:8px}.app-project-rail>footer{height:40px;display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:0 10px;border-top:1px solid var(--app-line);color:var(--app-green);font-size:8px}.app-project-rail>footer span{display:flex;gap:5px}.app-project-rail>footer a{color:var(--cadet-deep);font-size:14px}.app-canvas{min-width:0;min-height:0;overflow:auto;background:#fff}.app-inspector{border-left:1px solid var(--app-line);overflow:auto}.app-loading,.app-empty{height:100%;display:grid;place-items:center;align-content:center;gap:9px;color:var(--app-muted)}.app-loading i{font-size:24px;animation:spin 1s linear infinite}.app-empty i{font-size:42px;color:#9bbfc1}.app-empty h2{margin:4px 0 0;font-size:20px}.app-empty p{max-width:360px;margin:0;text-align:center;font-size:11px;line-height:1.5}.app-empty button{margin-top:8px}@keyframes spin{to{transform:rotate(360deg)}}
.app-suite{min-width:0;min-height:100%;display:flex;flex-direction:column}.app-suite-head{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px;border-bottom:1px solid var(--app-line);background:#f9fbfb}.app-suite-head h1{margin:3px 0 4px;font-size:22px}.app-suite-head p:last-child{margin:0;color:var(--app-muted);font-size:10px}.app-suite-kpis{display:flex;align-self:stretch}.app-suite-kpis span{min-width:90px;display:grid;align-content:center;padding:0 14px;border-left:1px solid var(--app-line)}.app-suite-kpis strong{font-size:20px}.app-suite-kpis small{color:var(--app-muted);font-size:8px}.app-suite-toolbar{min-height:48px;display:flex;align-items:center;gap:6px;padding:7px 15px;border-bottom:1px solid var(--app-line);background:#fff}.app-suite-toolbar .tool-command{width:auto;display:flex;align-items:center;gap:7px;padding:0 11px;font-size:10px;font-weight:800}.app-suite-toolbar .tool-command.primary{border-color:var(--cadet-deep);color:#fff;background:var(--cadet-deep)}.app-suite-toolbar .tool-spacer{flex:1}.app-suite-toolbar label{height:34px;display:flex;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--app-line);font-size:9px}.app-suite-toolbar select,.app-suite-toolbar input{border:0;outline:0;background:transparent}.app-body{min-height:0;flex:1}.app-statusline{min-height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-top:1px solid var(--app-line);color:var(--app-muted);background:#f7f9f9;font-size:8px}
.reference-layout{height:100%;display:grid;grid-template-columns:180px minmax(0,1fr)}.reference-groups{border-right:1px solid var(--app-line);background:#fbfcfc;padding:12px}.reference-groups h3,.document-tree h3,.code-tree h3{margin:6px 0 10px;color:#68797d;font-size:9px;text-transform:uppercase}.reference-groups button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px;border:0;color:#526569;background:transparent;font-size:10px;text-align:left}.reference-groups button.active,.reference-groups button:hover{color:var(--cadet-deep);background:#eaf3f3}.reference-groups button b{min-width:20px;text-align:right;font-size:8px}.reference-table-wrap{overflow:auto}.app-data-table{width:100%;border-collapse:collapse;font-size:10px}.app-data-table th{position:sticky;top:0;z-index:2;padding:9px 10px;border-bottom:1px solid var(--app-line);color:#65767a;background:#f4f7f7;font-size:8px;text-align:left;text-transform:uppercase}.app-data-table td{padding:10px;border-bottom:1px solid #e5ecec;vertical-align:top}.app-data-table tbody tr{cursor:pointer}.app-data-table tbody tr:hover,.app-data-table tbody tr.selected{background:#edf6f6}.reference-title{display:grid;gap:3px}.reference-title strong{font-size:11px;line-height:1.35}.reference-title small,.reference-meta{color:var(--app-muted);font-size:8px}.source-id{display:inline-flex;padding:3px 5px;color:#335e62;background:#e2eeee;font-size:7px;font-weight:850}.app-inspector-empty{height:100%;display:grid;place-items:center;align-content:center;gap:8px;padding:25px;color:var(--app-muted);text-align:center}.app-inspector-empty i{font-size:28px;color:#91b6b8}.app-inspector-empty strong{font-size:13px}.app-inspector-empty span{font-size:9px;line-height:1.5}.inspector-head{padding:18px;border-bottom:1px solid var(--app-line);background:#fff}.inspector-head .eyebrow{margin-bottom:6px}.inspector-head h2{margin:0;font-size:17px;line-height:1.25}.inspector-head p{margin:7px 0 0;color:var(--app-muted);font-size:9px;line-height:1.45}.inspector-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px;border-bottom:1px solid var(--app-line)}.inspector-actions button{min-height:34px;border:1px solid var(--app-line);color:var(--cadet-deep);background:#fff;font-size:9px;font-weight:800;cursor:pointer}.inspector-actions button:hover{background:#eaf4f4}.inspector-section{padding:14px;border-bottom:1px solid var(--app-line)}.inspector-section h3{margin:0 0 8px;font-size:9px;text-transform:uppercase}.inspector-section dl{display:grid;gap:7px;margin:0}.inspector-section dl div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:6px}.inspector-section dt{color:var(--app-muted);font-size:8px}.inspector-section dd{margin:0;overflow-wrap:anywhere;font-size:9px}.inspector-section textarea{width:100%;min-height:82px;padding:8px;border:1px solid var(--app-line);font-size:9px;resize:vertical}.citation-preview{padding:10px;border-left:3px solid var(--app-gold);background:#fff8e9;font-family:Georgia,serif;font-size:9px;line-height:1.5}
.qda-layout{height:100%;display:grid;grid-template-columns:190px minmax(0,1fr) 190px}.document-tree,.code-tree{min-width:0;padding:10px;overflow:auto;background:#fafcfc}.document-tree{border-right:1px solid var(--app-line)}.code-tree{border-left:1px solid var(--app-line)}.tree-record{width:100%;display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px;border:0;border-left:3px solid transparent;background:transparent;text-align:left;cursor:pointer}.tree-record:hover,.tree-record.active{border-left-color:var(--cadet);background:#eaf3f3}.tree-record>i{width:23px;height:23px;display:grid;place-items:center;background:#e1eeee;color:var(--cadet-deep)}.tree-record span{min-width:0;display:grid}.tree-record strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.tree-record small{color:var(--app-muted);font-size:7px}.tree-record b{width:9px;height:9px;border-radius:50%}.qda-reader{min-width:0;display:flex;flex-direction:column}.qda-reader-head{min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:9px 16px;border-bottom:1px solid var(--app-line);background:#fff}.qda-reader-head h2{margin:0;font-size:15px}.qda-reader-head span{color:var(--app-muted);font-size:8px}.qda-document{min-height:0;flex:1;overflow:auto;padding:28px clamp(24px,6vw,70px);font-family:Georgia,serif;font-size:14px;line-height:1.85;white-space:pre-wrap;user-select:text}.qda-document::selection{background:#f5dc9c}.qda-code-action{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 13px;border-top:1px solid var(--app-line);background:#f6f9f9}.qda-code-action span{color:var(--app-muted);font-size:9px}.qda-code-action button{min-height:32px;padding:0 12px;border:0;color:#fff;background:var(--cadet-deep);font-size:9px;font-weight:850;cursor:pointer}.code-tools{display:flex;gap:5px;margin-bottom:8px}.code-tools button{flex:1;height:28px;border:1px solid var(--app-line);background:#fff;font-size:8px;cursor:pointer}.code-frequency{padding:10px;border-top:1px solid var(--app-line)}.code-frequency-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:6px;margin:7px 0;font-size:8px}.code-frequency-row i{grid-column:1/-1;height:4px;background:#e5eded}.code-frequency-row i b{display:block;height:100%;background:var(--cadet-dark)}
.stats-layout{height:100%;display:flex;flex-direction:column}.stats-tabs{min-height:42px;display:flex;padding:0 14px;border-bottom:1px solid var(--app-line);background:#f8fafa}.stats-tabs button{padding:0 16px;border:0;border-bottom:3px solid transparent;color:#66777b;background:transparent;font-size:9px;font-weight:850;cursor:pointer}.stats-tabs button.active{border-bottom-color:var(--app-blue);color:#274f73}.stats-pane{min-height:0;flex:1;overflow:auto}.data-editor{width:max-content;min-width:100%;border-collapse:collapse;font-size:9px}.data-editor th{position:sticky;top:0;z-index:2;min-width:110px;padding:7px;border:1px solid #dce4e5;background:#eef3f3;text-align:left}.data-editor th:first-child{left:0;min-width:46px;z-index:3}.data-editor td{height:29px;padding:0;border:1px solid #e1e8e9}.data-editor td:first-child{position:sticky;left:0;padding:0 8px;color:#77878a;background:#f6f8f8;text-align:right}.data-editor td input{width:100%;height:28px;padding:0 7px;border:0;outline:0;background:transparent;font-size:9px}.data-editor td input:focus{box-shadow:inset 0 0 0 2px var(--app-blue);background:#fff}.analysis-workbench{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100%}.analysis-menu{padding:14px;border-right:1px solid var(--app-line);background:#fafcfc}.analysis-menu h3{margin:5px 0 10px;font-size:9px;text-transform:uppercase}.analysis-menu button{width:100%;display:flex;align-items:center;gap:8px;padding:9px;border:0;border-left:3px solid transparent;background:transparent;font-size:9px;text-align:left;cursor:pointer}.analysis-menu button:hover,.analysis-menu button.active{border-left-color:var(--app-blue);background:#e9f0f6;color:#274f73}.analysis-output{padding:20px;overflow:auto}.analysis-output-head{display:flex;align-items:start;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--app-line)}.analysis-output h2{margin:2px 0 5px;font-size:19px}.analysis-output p{margin:0;color:var(--app-muted);font-size:9px}.output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.output-block{min-width:0;padding:15px;border:1px solid var(--app-line);background:#fff}.output-block.wide{grid-column:1/-1}.output-block h3{margin:0 0 10px;font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--app-line);border-left:1px solid var(--app-line)}.metric-grid span{display:grid;padding:10px;border-right:1px solid var(--app-line);border-bottom:1px solid var(--app-line)}.metric-grid strong{font-size:16px}.metric-grid small{color:var(--app-muted);font-size:7px}.quality-list{display:grid;gap:6px}.quality-list span{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;background:#f5f8f8;font-size:9px}.quality-list i.ok{color:var(--app-green)}.quality-list i.warn{color:var(--app-gold)}.quality-list b{font-size:8px}.correlation-table{border-collapse:collapse;font-size:8px}.correlation-table th,.correlation-table td{min-width:58px;padding:7px;border:1px solid var(--app-line);text-align:center}.correlation-table td{color:#fff}.stats-canvas{width:100%;height:260px;display:block}.forest-list{display:grid;gap:8px}.forest-row{display:grid;grid-template-columns:180px minmax(240px,1fr) 110px;align-items:center;gap:9px;font-size:8px}.forest-track{position:relative;height:22px;background:linear-gradient(90deg,transparent 49.8%,#6c7e82 50%,transparent 50.2%)}.forest-track i{position:absolute;top:8px;height:5px;background:var(--app-blue)}.forest-track b{position:absolute;top:5px;width:10px;height:10px;transform:rotate(45deg);background:var(--app-blue)}.forest-row.pooled{font-weight:900}.forest-row.pooled .forest-track b{width:13px;height:13px;background:var(--app-coral)}.syntax-log{min-height:120px;padding:13px;color:#dcecec;background:#1f3034;font:10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}
.app-dialog{width:min(590px,calc(100vw - 24px));padding:0;border:1px solid var(--app-line);border-radius:6px;box-shadow:0 20px 60px rgba(20,35,38,.22)}.app-dialog::backdrop{background:rgba(21,34,37,.48)}.app-dialog form>header{display:flex;align-items:start;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--app-line);background:#f7f9f9}.app-dialog h2{margin:3px 0 0;font-size:19px}.app-dialog header button{width:32px;height:32px;border:1px solid var(--app-line);background:#fff;cursor:pointer}.app-dialog form>label,.app-dialog #recordDialogFields>label{display:grid;gap:5px;margin:15px 20px;color:#5e7074;font-size:9px;font-weight:850;text-transform:uppercase}.app-dialog input,.app-dialog textarea,.app-dialog select{width:100%;padding:10px;border:1px solid var(--app-line);outline:0;color:#1f3034;background:#fff;font-size:11px;text-transform:none}.app-dialog input:focus,.app-dialog textarea:focus,.app-dialog select:focus{border-color:var(--cadet-dark);box-shadow:0 0 0 2px #deeeee}.app-team-scope input{position:absolute;opacity:0}.app-team-scope span{display:grid;grid-template-columns:34px 1fr;padding:11px;border:1px solid var(--app-line);text-transform:none}.app-team-scope i{grid-row:1/3;display:grid;place-items:center;font-size:18px}.app-team-scope strong{font-size:10px}.app-team-scope small{font-size:8px;font-weight:400}.app-team-scope input:checked+span{border-color:var(--cadet);background:#edf6f6}.app-dialog form>footer{display:flex;justify-content:flex-end;gap:7px;padding:13px 20px;border-top:1px solid var(--app-line)}.app-dialog .primary-button,.app-dialog .secondary-button,.app-empty .primary-button{min-height:36px;padding:0 13px;border-radius:4px;font-size:10px}.app-help-dialog #appHelpContent{padding:18px 22px}.help-steps{display:grid;gap:9px}.help-steps span{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:9px;border-left:3px solid var(--cadet);background:#f2f7f7}.help-steps b{grid-row:1/3;width:24px;height:24px;display:grid;place-items:center;color:#fff;background:var(--cadet-deep);font-size:9px}.help-steps strong{font-size:10px}.help-steps small{color:var(--app-muted);font-size:8px;line-height:1.4}
@media(max-width:1180px){.app-workspace{grid-template-columns:200px minmax(500px,1fr) 270px}.research-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-commandbar nav a{min-width:46px}.app-commandbar nav a span{display:none}.app-identity{min-width:220px}.qda-layout{grid-template-columns:160px minmax(0,1fr) 160px}}
@media(max-width:850px){.apps-hub{padding:28px 14px 50px}.apps-hub-head{grid-template-columns:1fr}.apps-hub-head h1{font-size:32px}.apps-launch-grid{grid-template-columns:1fr}.research-layer{grid-template-columns:1fr}.research-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-identity{min-width:0;flex:1}.app-identity span{display:none}.app-workspace{height:auto;min-height:calc(100dvh - var(--ff-shell-height) - 58px);grid-template-columns:1fr}.app-project-rail{max-height:180px;border-right:0;border-bottom:1px solid var(--app-line)}.app-project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.app-project-rail>footer{display:none}.app-canvas{min-height:650px}.app-inspector{min-height:320px;border-top:1px solid var(--app-line);border-left:0}.reference-layout{grid-template-columns:1fr}.reference-groups{display:none}.qda-layout{grid-template-columns:130px minmax(360px,1fr)}.code-tree{display:none}.analysis-workbench{grid-template-columns:1fr}.analysis-menu{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--app-line)}.analysis-menu h3{display:none}.analysis-menu button{width:auto;white-space:nowrap}.output-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.forest-row{grid-template-columns:110px minmax(180px,1fr);}.forest-row>span:last-child{grid-column:2}}

/* Florence Research Suite: app menus, direct coding and visual analysis. */
.research-app-page,.citation-preview{font-family:Lato,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app-commandbar{height:56px}
.app-commandbar .app-switcher{display:flex;align-items:stretch}
.app-commandbar .app-switcher a{min-width:112px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border-right:1px solid #e4ebeb;border-bottom:3px solid transparent;color:#5e7074;font-size:11px;font-weight:800;text-decoration:none}
.app-commandbar .app-switcher a.active{border-bottom-color:var(--cadet-dark);color:var(--cadet-deep);background:#eff6f6}
.app-context-menu{position:relative;z-index:55;height:44px;display:flex;align-items:stretch;padding-left:52px;border-bottom:1px solid var(--app-line);background:#f8fafa}
.app-menu-group{position:relative}
.app-menu-trigger{height:43px;display:flex;align-items:center;gap:8px;padding:0 15px;border:0;border-right:1px solid #e0e8e8;color:#31474b;background:transparent;font-size:11px;font-weight:800;cursor:pointer}
.app-menu-trigger:hover,.app-menu-group.open>.app-menu-trigger{color:var(--cadet-deep);background:#e7f1f1}
.app-menu-trigger i{font-size:9px}
.app-menu-panel{position:absolute;top:43px;left:0;z-index:70;width:320px;max-height:min(620px,calc(100dvh - 140px));display:none;overflow:auto;padding:7px;border:1px solid var(--app-line);border-top:2px solid var(--cadet-dark);background:#fff;box-shadow:0 15px 34px rgba(30,50,54,.16)}
.app-menu-group.open>.app-menu-panel{display:grid}
.app-menu-panel>button{width:100%;min-height:52px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:7px 9px;border:0;color:#26383c;background:transparent;text-align:left;cursor:pointer}
.app-menu-panel>button:hover,.app-menu-panel>button:focus-visible{outline:0;background:#edf5f5}
.app-menu-panel>button>i{width:32px;height:32px;display:grid;place-items:center;color:var(--cadet-deep);background:#dfeeee;font-size:15px}
.app-menu-panel>button>span{min-width:0;display:grid;gap:2px}
.app-menu-panel strong{font-size:11px}.app-menu-panel small{color:var(--app-muted);font-size:9px;line-height:1.3}
.app-menu-panel>button.danger{margin-top:4px;border-top:1px solid #f0dddd;color:#9a3833}.app-menu-panel>button.danger>i{color:#9a3833;background:#fae9e8}
.app-workspace{height:calc(100dvh - var(--ff-shell-height) - 100px)}

.app-project-item{width:100%!important;height:auto!important;min-height:60px;grid-template-columns:36px minmax(0,1fr)!important;align-items:center;gap:10px!important;padding:9px 10px!important}
.app-project-item.has-children{grid-template-columns:36px minmax(0,1fr) 20px!important}
.app-project-item>i{width:34px;height:34px;font-size:16px}.app-project-item strong{font-size:15px}.app-project-item small{margin-top:3px;font-size:12px;line-height:1.35}
.app-project-caret{display:grid;place-items:center;color:#61777a;font-size:11px}
.app-project-branch{width:100%;min-width:0}.app-project-documents{display:grid;gap:2px;margin:0 0 9px;padding:2px 5px 5px 27px;border-left:1px solid #d8e5e5}.app-project-documents[hidden]{display:none}
.app-project-document{width:100%!important;height:auto!important;min-height:50px!important;display:grid!important;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:8px;padding:8px 9px!important;border:0!important;border-left:3px solid transparent!important;border-radius:0!important;color:#344b4f!important;background:transparent!important;text-align:left;cursor:pointer}
.app-project-document:hover,.app-project-document.active{border-left-color:var(--cadet-dark)!important;background:#eaf3f3!important}.app-project-document>i{font-size:16px}.app-project-document span{min-width:0;display:grid}.app-project-document strong{overflow:hidden;font-size:14px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.app-project-document small{margin-top:2px;color:var(--app-muted);font-size:11px}.app-project-empty{margin:8px 10px;color:var(--app-muted);font-size:12px;line-height:1.4}

.apps-shell[data-app="qualitative"] .app-workspace{grid-template-columns:340px minmax(620px,1fr) 360px}.apps-shell[data-app="qualitative"] .app-project-rail>header{height:58px;padding:0 15px;font-size:14px}.apps-shell[data-app="qualitative"] .app-project-rail>header button{width:38px;height:38px}.apps-shell[data-app="qualitative"] .app-project-search{height:50px;margin:11px 12px;padding:0 12px}.apps-shell[data-app="qualitative"] .app-project-search input{font-size:14px}.apps-shell[data-app="qualitative"] .app-project-list{gap:3px;padding:0 10px 12px}.apps-shell[data-app="qualitative"] .app-project-rail>footer{height:46px;font-size:12px}
.apps-shell[data-app="qualitative"] .app-suite-head h1{font-size:24px}.apps-shell[data-app="qualitative"] .app-suite-head p:last-child{font-size:12px}.apps-shell[data-app="qualitative"] .app-suite-kpis small{font-size:10px}.apps-shell[data-app="qualitative"] .app-suite-toolbar .tool-command{font-size:12px}.apps-shell[data-app="qualitative"] .app-statusline{font-size:10px}
.qda-layout{grid-template-columns:minmax(0,1fr) 280px}.qda-reader-actions{display:flex;gap:5px}.qda-document{font-family:Lato,ui-sans-serif,sans-serif;font-size:18px;line-height:1.78}.qda-document mark{position:relative;padding:1px 0;border-radius:1px;background:color-mix(in srgb,var(--coding-color) 24%,transparent);box-decoration-break:clone;-webkit-box-decoration-break:clone;cursor:pointer}.qda-document mark::after{position:absolute;right:0;bottom:-3px;left:0;height:4px;background:var(--coding-stripes);content:""}.qda-document mark.multi-coded{background:color-mix(in srgb,var(--coding-color) 18%,#fff)}.qda-document mark.multi-coded::before{position:absolute;top:-15px;right:-7px;z-index:1;min-width:17px;height:17px;display:grid;place-items:center;padding:0 3px;border-radius:9px;color:#fff;background:var(--cadet-deep);content:attr(data-code-count);font:800 10px/1 Lato,sans-serif}.qda-document mark:hover{outline:2px solid rgba(33,79,83,.3)}.qda-reader-head{min-height:68px}.qda-reader-head span{font-size:13px}.qda-reader-head h2{font-size:21px}.qda-code-action span,.qda-code-action button{font-size:13px}.code-tree h3{font-size:14px}.code-tools button{height:38px;font-size:12px}.code-tree-branch{padding-left:calc(var(--code-depth) * 12px)}.code-tree-branch>.tree-record{min-height:52px}.code-tree-branch>.tree-record strong{font-size:14px}.code-tree-branch>.tree-record small{font-size:11px}.matrix-command{border-color:#8bb8ba!important;background:#edf7f7!important}.inspector-stack{display:grid;gap:7px}.inspector-stack button{min-height:42px;font-size:13px}.apps-shell[data-app="qualitative"] .inspector-head h2{font-size:21px}.apps-shell[data-app="qualitative"] .inspector-head p{font-size:13px}.apps-shell[data-app="qualitative"] .inspector-section h3{font-size:13px}.apps-shell[data-app="qualitative"] .quality-list span{font-size:13px}.apps-shell[data-app="qualitative"] .quality-list b{font-size:12px}.qda-retrieval-card{position:relative;margin-bottom:10px;padding:13px 42px 13px 14px;border-left:5px solid var(--code-color);background:#fff}.qda-retrieval-card strong{font-size:14px}.qda-retrieval-card p{margin:8px 0;font:14px/1.55 Lato,ui-sans-serif,sans-serif}.qda-retrieval-card small{color:var(--app-muted);font-size:12px}.qda-retrieval-card .app-icon-button{position:absolute;top:9px;right:8px;width:31px;height:31px}
.qda-selection-action{position:fixed;z-index:140;min-height:36px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid #244f53;border-radius:4px;color:#fff;background:#214f53;box-shadow:0 9px 22px rgba(20,45,48,.22);font:700 11px/1 Lato,sans-serif;cursor:pointer}
.qda-code-picker{position:fixed;z-index:145;width:min(460px,calc(100vw - 20px));max-height:min(620px,calc(100dvh - 20px));display:flex;flex-direction:column;border:1px solid #a9c3c5;border-top:5px solid var(--cadet-dark);border-radius:5px;background:#fff;box-shadow:0 18px 50px rgba(16,38,41,.26);font-family:Lato,sans-serif;overflow:hidden}
.qda-code-picker>header{display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:13px 15px;border-bottom:1px solid var(--app-line);background:#f5f9f9}.qda-code-picker>header>span{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:900}.qda-code-picker>header>div{display:flex;align-items:center;gap:9px}.qda-code-picker>header small{color:var(--app-muted);font-size:12px}.qda-code-picker>header button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--app-line);background:#fff;cursor:pointer}.qda-picker-search{height:48px;display:flex;align-items:center;gap:9px;margin:11px 11px 7px;border:1px solid var(--app-line);padding:0 12px}.qda-picker-search input{min-width:0;width:100%;border:0;outline:0;font-size:15px}.qda-picker-hint{display:flex;align-items:center;gap:7px;padding:3px 13px 9px;color:#5e7174;font-size:12px}.qda-picker-codes{min-height:0;display:grid;overflow:auto;padding:0 11px 9px}.qda-picker-codes>button{display:grid;grid-template-columns:22px 12px minmax(0,1fr) 32px;align-items:center;gap:10px;min-height:65px;padding:10px;border:0;border-bottom:1px solid #edf1f1;background:#fff;text-align:left;cursor:pointer}.qda-picker-codes>button:hover,.qda-picker-codes>button.selected{background:#e6f1f1}.qda-picker-codes>button.selected{box-shadow:inset 4px 0 0 var(--cadet-dark)}.qda-picker-codes .picker-check{width:auto;height:auto;color:var(--cadet-deep);font-size:18px}.qda-picker-codes .picker-color{width:10px;height:34px;border-radius:2px}.qda-picker-codes span{min-width:0;display:grid}.qda-picker-codes strong{font-size:15px;line-height:1.35}.qda-picker-codes small{overflow:hidden;margin-top:3px;color:var(--app-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.qda-picker-codes b{text-align:right;font-size:14px}.qda-code-picker>footer{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--app-line);background:#f8fafa}.qda-code-picker>footer button{min-height:54px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;border:0;border-right:1px solid var(--app-line);color:#355a5e;background:transparent;font-size:12px;font-weight:800;cursor:pointer}.qda-code-picker>footer button:hover{background:#e8f2f2}.qda-code-picker>footer .qda-apply-selected{grid-column:1/-1;min-height:56px;border-top:1px solid var(--app-line);color:#fff;background:var(--cadet-deep);font-size:14px}.qda-code-picker>footer .qda-apply-selected:disabled{color:#849497;background:#e6ecec;cursor:not-allowed}.qda-code-picker>footer .qda-apply-selected b{min-width:25px;height:25px;display:grid;place-items:center;border-radius:13px;color:var(--cadet-deep);background:#fff}

/* QDA is a reading and coding workspace, never a micro-dashboard. */
.apps-shell[data-app="qualitative"] .app-identity small{font-size:10px}.apps-shell[data-app="qualitative"] .app-identity strong{font-size:15px}.apps-shell[data-app="qualitative"] .app-commandbar nav a{font-size:13px}.apps-shell[data-app="qualitative"] .app-menu-trigger{font-size:13px}.apps-shell[data-app="qualitative"] .app-menu-panel strong{font-size:13px}.apps-shell[data-app="qualitative"] .app-menu-panel small{font-size:11px}.apps-shell[data-app="qualitative"] .eyebrow{font-size:11px}.apps-shell[data-app="qualitative"] .app-suite-kpis strong{font-size:23px}.apps-shell[data-app="qualitative"] .app-suite-kpis small{font-size:11px}.apps-shell[data-app="qualitative"] .code-frequency-row{font-size:11px}.apps-shell[data-app="qualitative"] .reference-meta{font-size:11px}.apps-shell[data-app="qualitative"] .app-inspector-empty strong{font-size:16px}.apps-shell[data-app="qualitative"] .app-inspector-empty span{font-size:12px}.apps-shell[data-app="qualitative"] .inspector-section{padding:17px}.apps-shell[data-app="qualitative"] .inspector-section dd{font-size:12px}.apps-shell[data-app="qualitative"] .inspector-section dt{font-size:11px}
.research-app-page .app-dialog{width:min(720px,calc(100vw - 24px))}.research-app-page .app-dialog form>header{padding:22px 24px}.research-app-page .app-dialog h2{font-size:25px}.research-app-page .app-dialog form>label,.research-app-page .app-dialog #recordDialogFields>label{gap:7px;margin:18px 24px;font-size:12px}.research-app-page .app-dialog input,.research-app-page .app-dialog textarea,.research-app-page .app-dialog select{padding:13px;font-size:15px}.research-app-page .app-team-scope strong{font-size:13px}.research-app-page .app-team-scope small{font-size:11px}.research-app-page .app-dialog form>footer button{min-height:44px;font-size:13px}

.code-matrix-dialog{width:calc(100vw - 18px);height:calc(100dvh - 18px);max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:6px;overflow:hidden;box-shadow:0 25px 70px rgba(12,31,34,.28)}.code-matrix-dialog::backdrop{background:rgba(19,35,38,.58)}#codeMatrixContent,.code-matrix-shell{height:100%}.code-matrix-shell{display:flex;flex-direction:column;background:#f5f8f8}.code-matrix-shell>header{min-height:70px;display:grid;grid-template-columns:minmax(0,1fr) auto 38px;align-items:center;gap:22px;padding:10px 17px;border-bottom:1px solid var(--app-line);background:#fff}.code-matrix-shell>header h2{margin:2px 0 0;font-size:20px}.code-matrix-shell>header span{color:var(--app-muted);font-size:9px}.code-matrix-stats{display:flex;gap:18px}.code-matrix-stats span{display:grid;color:var(--app-muted);font-size:8px}.code-matrix-stats strong{color:#1d3034;font-size:17px}.qda-analysis-tabs{min-height:48px;display:flex;overflow-x:auto;padding:0 12px;border-bottom:1px solid var(--app-line);background:#f8fafa}.qda-analysis-tabs button{min-width:145px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:0;border-bottom:3px solid transparent;color:#607276;background:transparent;font-size:10px;font-weight:800;cursor:pointer}.qda-analysis-tabs button.active,.qda-analysis-tabs button:hover{border-bottom-color:var(--cadet-dark);color:var(--cadet-deep);background:#e9f3f3}.code-matrix-toolbar{min-height:50px;display:flex;align-items:center;gap:7px;padding:7px 13px;border-bottom:1px solid var(--app-line);background:#fff}.code-matrix-toolbar>label{width:min(440px,34vw);height:34px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--app-line)}.code-matrix-toolbar input{min-width:0;width:100%;border:0;outline:0;font-size:10px}.code-matrix-toolbar button{min-height:34px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--app-line);color:var(--cadet-deep);background:#fff;font-size:9px;font-weight:800;cursor:pointer}.code-matrix-toolbar button.primary{border-color:var(--cadet-deep);color:#fff;background:var(--cadet-deep)}.code-matrix-toolbar .tool-spacer{flex:1}.matrix-view-switch{display:flex}.matrix-view-switch button.active{background:#e2eeee}.code-matrix-body{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 350px}.code-matrix-scroll{min-width:0;overflow:auto;background:#fff}.code-matrix-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:9px}.code-matrix-table th,.code-matrix-table td{min-width:104px;height:64px;padding:0;border-right:1px solid #dce5e6;border-bottom:1px solid #dce5e6}.code-matrix-table thead th{position:sticky;top:0;z-index:4;background:#eef4f4}.code-matrix-table th:first-child{position:sticky;left:0;z-index:3;width:230px;min-width:230px;background:#f6f9f9}.code-matrix-table thead th:first-child{z-index:5}.code-matrix-table th>button{width:100%;height:100%;display:flex;align-items:center;gap:7px;padding:8px;border:0;background:transparent;text-align:left;cursor:pointer}.code-matrix-table th>button>span{min-width:0;display:grid}.code-matrix-table th>button strong,.code-matrix-table th>button>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.code-matrix-table th small{color:var(--app-muted);font-size:7px}.code-matrix-table th i{width:8px;height:30px}.code-matrix-table td>button{position:relative;width:100%;height:100%;display:grid;place-items:center;border:0;background:#fff;overflow:hidden;cursor:pointer}.code-matrix-table td>button::before{position:absolute;inset:5px;content:"";background:var(--matrix-color);opacity:calc(var(--matrix-strength) * .7)}.code-matrix-table td>button>*{position:relative;z-index:1}.code-matrix-table td>button strong{font-size:14px}.code-matrix-table td>button span{font-size:7px}.code-matrix-table td.selected-cell>button{box-shadow:inset 0 0 0 3px var(--cadet-deep)}.code-matrix-table .selected-axis{background:#dcecec}.code-matrix-table .matrix-total{min-width:64px;text-align:center;background:#f2f6f6}.code-matrix-detail{min-width:0;overflow:auto;padding:14px;border-left:1px solid var(--app-line);background:#f8fafa}.matrix-detail-heading{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:7px;padding-bottom:12px;border-bottom:1px solid var(--app-line)}.matrix-detail-heading>span{display:contents;font-weight:900}.matrix-detail-heading i,.matrix-related i{width:9px;height:26px}.matrix-detail-heading strong{font-size:22px}.matrix-detail-heading small{grid-column:2/-1;color:var(--app-muted);font-size:8px}.matrix-detail-kpis{display:grid;grid-template-columns:repeat(3,1fr);margin:12px 0;border:1px solid var(--app-line)}.matrix-detail-kpis span{display:grid;padding:8px;border-right:1px solid var(--app-line)}.matrix-detail-kpis strong{font-size:14px}.matrix-detail-kpis small{font-size:7px}.matrix-retrieval h3,.matrix-related h3{margin:14px 0 7px;font-size:9px;text-transform:uppercase}.matrix-retrieval>button{width:100%;display:grid;grid-template-columns:18px minmax(0,1fr) 16px;gap:6px;padding:9px;border:0;border-bottom:1px solid var(--app-line);background:#fff;text-align:left;cursor:pointer}.matrix-retrieval span{min-width:0;display:grid}.matrix-retrieval strong{display:-webkit-box;overflow:hidden;font-size:9px;line-height:1.4;-webkit-line-clamp:3;-webkit-box-orient:vertical}.matrix-retrieval small{margin-top:4px;color:var(--app-muted);font-size:7px}.matrix-related{display:grid}.matrix-related>button{display:grid;grid-template-columns:9px minmax(0,1fr) 24px;align-items:center;gap:6px;padding:7px;border:0;border-bottom:1px solid var(--app-line);background:transparent;text-align:left;cursor:pointer}.matrix-related>button i{height:20px}.code-matrix-empty{height:100%;display:grid;place-items:center;align-content:center;padding:30px;color:var(--app-muted);text-align:center}.code-matrix-empty i{font-size:32px}.code-matrix-empty h2{margin:8px 0 0}.code-matrix-empty p{max-width:420px;font-size:10px}.code-matrix-empty.compact{height:auto;min-height:180px}

.qda-visual-tool{min-height:0;flex:1;overflow:auto;padding:22px}.qda-visual-tool>header{display:flex;justify-content:space-between;margin-bottom:18px}.qda-visual-tool h2{margin:3px 0 4px;font-size:20px}.qda-visual-tool header p:last-child{margin:0;color:var(--app-muted);font-size:10px}.document-portrait-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.document-portrait-grid>button{min-height:145px;display:grid;grid-template-rows:auto 50px auto;gap:12px;padding:14px;border:1px solid var(--app-line);background:#fff;text-align:left;cursor:pointer}.document-portrait-grid>button:hover{border-color:var(--cadet)}.document-portrait-grid>button>span:first-child{display:grid}.document-portrait-grid strong{font-size:12px}.document-portrait-grid small{color:var(--app-muted);font-size:8px}.portrait-track{display:flex;overflow:hidden;border:1px solid #d7e1e2;background:#f3f6f6}.portrait-track b{min-width:5px;flex:1}.portrait-track em{margin:auto;color:var(--app-muted);font-size:8px}.portrait-legend{display:flex!important;flex-wrap:wrap;gap:7px}.portrait-legend small{display:flex;align-items:center;gap:4px}.portrait-legend i{width:7px;height:7px}.word-analysis-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px}.qda-word-cloud{min-height:420px;display:flex;align-content:center;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:25px;border:1px solid var(--app-line);background:#fff}.qda-word-cloud button{border:0;color:color-mix(in srgb,var(--cadet-deep) calc(55% + var(--word-weight) * 35%),var(--app-blue));background:transparent;font-weight:800;cursor:pointer}.qda-word-cloud small{margin-left:3px;font-size:7px;opacity:.65}.qda-word-table{border:1px solid var(--app-line);background:#fff}.qda-word-table>header,.qda-word-table>button{min-height:34px;display:grid;grid-template-columns:110px minmax(0,1fr) 35px;align-items:center;gap:8px;padding:5px 9px;border:0;border-bottom:1px solid #e6ecec;background:transparent;text-align:left}.qda-word-table>header{background:#f2f6f6;font-size:8px;text-transform:uppercase}.qda-word-table>button{cursor:pointer}.qda-word-table>button:hover{background:#edf5f5}.qda-word-table span{font-size:9px}.qda-word-table i{height:5px;background:#e2ebeb}.qda-word-table i b{display:block;height:100%;background:var(--cadet-dark)}.qda-word-table strong{text-align:right;font-size:9px}.code-relations-map{min-height:300px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:28px;border:1px solid var(--app-line);background:#fff}.code-relations-map button{width:calc(105px + var(--relation-size) * 70px);height:calc(70px + var(--relation-size) * 45px);display:grid;place-items:center;align-content:center;padding:8px;border:1px solid color-mix(in srgb,var(--relation-color) 55%,#fff);border-radius:50%;background:color-mix(in srgb,var(--relation-color) 17%,#fff);text-align:center;cursor:pointer}.code-relations-map button:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--relation-color) 22%,transparent)}.code-relations-map button i{width:8px;height:8px;border-radius:50%;background:var(--relation-color)}.code-relations-map strong{font-size:9px}.code-relations-map small{font-size:7px}.code-relations-list{margin-top:14px;border:1px solid var(--app-line);background:#fff}.code-relations-list h3{margin:0;padding:10px;background:#f2f6f6;font-size:9px}.code-relations-list button{width:100%;display:grid;grid-template-columns:8px minmax(100px,1fr) 15px 8px minmax(100px,1fr) 70px;align-items:center;gap:6px;padding:8px 10px;border:0;border-bottom:1px solid var(--app-line);background:transparent;text-align:left;cursor:pointer}.code-relations-list i{width:8px;height:20px}.code-relations-list span,.code-relations-list strong{font-size:9px}.summary-grid-wrap{overflow:auto;border:1px solid var(--app-line);background:#fff}.summary-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:9px}.summary-grid th,.summary-grid td{width:230px;min-width:230px;height:105px;padding:8px;border-right:1px solid var(--app-line);border-bottom:1px solid var(--app-line);vertical-align:top}.summary-grid thead th{position:sticky;top:0;z-index:3;height:48px;background:#eef4f4}.summary-grid th:first-child{position:sticky;left:0;z-index:2;width:190px;min-width:190px;background:#f4f7f7}.summary-grid thead th:first-child{z-index:4}.summary-grid th i{display:inline-block;width:7px;height:20px;margin-right:6px;vertical-align:middle}.summary-grid td>button{width:100%;display:grid;gap:5px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.summary-grid td strong{font-size:8px}.summary-grid td span{display:-webkit-box;overflow:hidden;color:#485a5e;font-size:9px;line-height:1.45;-webkit-line-clamp:4;-webkit-box-orient:vertical}

.qda-word-cloud button.active,.qda-word-table>button.active{color:var(--cadet-deep);background:#e1eeee}.qda-kwic{margin-top:14px;border:1px solid var(--app-line);background:#fff}.qda-kwic>header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--app-line);background:#eef4f4}.qda-kwic>header div{display:flex;align-items:center;gap:10px}.qda-kwic>header span{color:var(--app-muted);font-size:8px;text-transform:uppercase}.qda-kwic>header strong{font-size:12px}.qda-kwic>header>b{font-size:9px}.qda-kwic>div{max-height:310px;overflow:auto}.qda-kwic>div>button{width:100%;display:grid;grid-template-columns:170px minmax(0,1fr);align-items:start;gap:12px;padding:10px 12px;border:0;border-bottom:1px solid #e7eded;background:transparent;text-align:left;cursor:pointer}.qda-kwic>div>button:hover{background:#f4f9f9}.qda-kwic>div>button>strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.qda-kwic p{margin:0;color:#45575b;font-size:10px;line-height:1.55}.qda-kwic mark{padding:1px 2px;color:#17383c;background:#f5dc9c;font-weight:800}

@media(max-width:1180px){.app-commandbar .app-switcher a{min-width:44px}.app-commandbar .app-switcher a span{display:none}.apps-shell[data-app="qualitative"] .app-workspace{grid-template-columns:240px minmax(500px,1fr) 280px}.qda-layout{grid-template-columns:minmax(0,1fr) 190px}.code-matrix-body{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:850px){.app-context-menu{padding-left:0;overflow-x:auto}.app-menu-trigger{white-space:nowrap}.app-menu-panel{position:fixed;top:calc(var(--ff-shell-height) + 98px);left:8px;right:8px;width:auto}.app-workspace,.apps-shell[data-app="qualitative"] .app-workspace{height:auto;min-height:calc(100dvh - var(--ff-shell-height) - 100px);grid-template-columns:1fr}.app-project-rail{max-height:300px}.app-project-list{grid-template-columns:1fr}.qda-layout{grid-template-columns:1fr}.code-tree{display:none}.code-matrix-dialog{width:100vw;height:100dvh;border-radius:0}.code-matrix-shell>header{grid-template-columns:minmax(0,1fr) 36px}.code-matrix-stats{display:none}.qda-analysis-tabs button{min-width:118px}.code-matrix-toolbar>label{width:auto;flex:1}.code-matrix-toolbar>.primary{display:none}.code-matrix-body{grid-template-columns:1fr}.code-matrix-detail{max-height:38dvh;border-top:1px solid var(--app-line);border-left:0}.word-analysis-layout{grid-template-columns:1fr}.qda-word-table{max-height:380px;overflow:auto}.qda-visual-tool{padding:14px}}
@media print{.ff-shell,.app-commandbar,.app-context-menu,.app-project-rail,.app-suite-toolbar,.app-statusline,.qda-code-action,.code-tree,.app-inspector{display:none!important}.app-workspace,.apps-shell[data-app="qualitative"] .app-workspace{height:auto!important;display:block!important}.app-canvas{overflow:visible!important}.qda-layout{display:block!important}.qda-document{overflow:visible!important;padding:20px!important}.code-matrix-dialog[open]{position:static!important;width:100%!important;height:auto!important}.code-matrix-dialog::backdrop{display:none}.code-matrix-shell>header,.qda-analysis-tabs,.code-matrix-toolbar,.code-matrix-detail{display:none!important}.code-matrix-body{display:block!important}.code-matrix-scroll{overflow:visible!important}.code-matrix-table{width:100%!important}}

/* One adaptive app menu, a collapsible QDA navigator and an optional retrieval inspector. */
@media screen {
    .research-app-active { --ff-shell-height: 58px; }
    .research-app-active .ff-shell { height: 58px; }
    .research-app-active .ff-shell-nav { display: none; }
    .research-app-active .app-commandbar { position: relative; z-index: 56; height: 56px; }
    .research-app-active .app-workspace { height: calc(100dvh - 114px); }
    .app-context-menu.app-context-inline { min-width: 0; height: 55px; flex: 1; overflow: visible; padding: 0; border: 0; background: #fff; }
    .app-context-inline .app-menu-trigger,
    .app-switcher-menu > .app-menu-trigger { height: 55px; }
    .app-context-inline .app-menu-panel,
    .app-switcher-menu > .app-menu-panel { top: 55px; }
    .app-switcher-menu { border-right: 1px solid var(--app-line); }
    .app-switcher-menu > .app-menu-trigger { min-width: 82px; color: var(--cadet-deep); }
    .app-switcher-menu > .app-menu-panel { width: 350px; }
    .app-switcher-menu .app-menu-panel > a { min-height: 64px; display: grid; grid-template-columns: 38px minmax(0,1fr) 20px; align-items: center; gap: 10px; padding: 9px; border-left: 3px solid transparent; color: #26383c; text-decoration: none; }
    .app-switcher-menu .app-menu-panel > a:hover,
    .app-switcher-menu .app-menu-panel > a.active { border-left-color: var(--cadet-dark); background: #edf5f5; }
    .app-switcher-menu .app-menu-panel > a > i:first-child { width: 36px; height: 36px; display: grid; place-items: center; color: var(--cadet-deep); background: #dfeeee; font-size: 17px; }
    .app-switcher-menu .app-menu-panel > a > span { min-width: 0; display: grid; gap: 2px; }
    .app-switcher-menu .app-menu-panel > a strong { font-size: 13px; }
    .app-switcher-menu .app-menu-panel > a small { overflow: hidden; color: var(--app-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
    .app-switcher-check { color: var(--app-green); }
    .app-command-actions { margin-left: 0; }

    .apps-shell[data-app="qualitative"] .app-workspace { grid-template-columns: 320px minmax(0,1fr) 0; transition: grid-template-columns .18s ease; }
    .apps-shell[data-app="qualitative"].qda-inspector-open .app-workspace { grid-template-columns: 320px minmax(0,1fr) 380px; }
    .apps-shell[data-app="qualitative"].qda-sidebar-closed .app-workspace { grid-template-columns: 62px minmax(0,1fr) 0; }
    .apps-shell[data-app="qualitative"].qda-sidebar-closed.qda-inspector-open .app-workspace { grid-template-columns: 62px minmax(0,1fr) 380px; }
    .apps-shell[data-app="qualitative"] .app-project-rail { overflow: hidden; }
    .apps-shell[data-app="qualitative"] .app-inspector { visibility: hidden; width: 0; border-left: 0; overflow: hidden; }
    .apps-shell[data-app="qualitative"].qda-inspector-open .app-inspector { visibility: visible; width: auto; border-left: 1px solid var(--app-line); overflow: auto; }
    .apps-shell[data-app="qualitative"] .qda-layout { display: block; height: 100%; }
    .apps-shell[data-app="qualitative"] .qda-reader { height: 100%; }
    .apps-shell[data-app="qualitative"] .qda-document { padding: 36px clamp(34px,6vw,100px); font-size: 18px; line-height: 1.78; }

    .qda-sidebar-tabs { min-height: 48px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) 38px; align-items: stretch; padding: 5px; border-bottom: 1px solid var(--app-line); background: #f2f7f7; }
    .apps-shell[data-app="qualitative"] .qda-sidebar-tabs > button { width: auto; height: 38px; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 0 8px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; color: #607276; background: transparent; font-size: 11px; font-weight: 800; }
    .apps-shell[data-app="qualitative"] .qda-sidebar-tabs > button:hover,
    .apps-shell[data-app="qualitative"] .qda-sidebar-tabs > button.active { border-bottom-color: var(--cadet-dark); color: var(--cadet-deep); background: #fff; }
    .apps-shell[data-app="qualitative"] .qda-sidebar-tabs .qda-sidebar-collapse { border-left: 1px solid var(--app-line); }
    .qda-sidebar-pane { min-height: 0; display: grid; align-content: start; }
    .qda-sidebar-pane > header { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border-bottom: 1px solid var(--app-line); }
    .qda-sidebar-pane > header div { min-width: 0; display: grid; }
    .qda-sidebar-pane > header strong { font-size: 14px; }
    .qda-sidebar-pane > header small { color: var(--app-muted); font-size: 11px; }
    .qda-sidebar-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 8px 10px; }
    .apps-shell[data-app="qualitative"] .qda-sidebar-actions button { width: auto; min-height: 36px; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 11px; }
    .qda-sidebar-tree { min-height: 0; display: grid; align-content: start; padding: 0 7px; }
    .qda-sidebar-tree .code-tree-branch { width: 100%; min-width: 0; }
    .apps-shell[data-app="qualitative"] .qda-sidebar-tree .tree-record { width: 100%!important; height: auto!important; min-height: 54px; display: grid; grid-template-columns: 12px minmax(0,1fr) 28px; padding: 8px 9px; }
    .qda-sidebar-tree .tree-record em { color: #314d51; font-size: 12px; font-style: normal; font-weight: 850; text-align: right; }
    .qda-sidebar-memos { gap: 5px; padding-bottom: 9px; }
    .qda-memo-item { width: auto!important; height: auto!important; min-height: 76px; display: grid!important; grid-template-columns: 34px minmax(0,1fr); align-items: start; gap: 9px; margin: 0 8px; padding: 10px!important; border: 0!important; border-left: 3px solid transparent!important; text-align: left; background: transparent!important; }
    .qda-memo-item:hover,
    .qda-memo-item.active { border-left-color: var(--cadet-dark)!important; background: #e8f2f2!important; }
    .qda-memo-item > i { width: 32px; height: 32px; display: grid; place-items: center; color: var(--cadet-deep); background: #dceaea; }
    .qda-memo-item span { min-width: 0; display: grid; }
    .qda-memo-item strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
    .qda-memo-item small { color: var(--app-muted); font-size: 10px; }
    .qda-memo-item p { display: -webkit-box; overflow: hidden; margin: 5px 0 0; color: #53666a; font-size: 11px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .qda-sidebar-closed .app-project-rail > header,
    .qda-sidebar-closed .app-project-search,
    .qda-sidebar-closed .app-project-list,
    .qda-sidebar-closed .app-project-rail > footer { display: none!important; }
    .qda-sidebar-closed .qda-sidebar-tabs { grid-template-columns: 1fr; align-content: start; height: 100%; padding: 6px; border: 0; }
    .qda-sidebar-closed .qda-sidebar-tabs > button { width: 48px!important; height: 46px!important; }
    .qda-sidebar-closed .qda-sidebar-tabs > button span { display: none; }
    .qda-sidebar-closed .qda-sidebar-tabs .qda-sidebar-collapse { order: -1; border-left: 0; border-bottom: 1px solid var(--app-line); }
    .qda-inspector-toggle { position: relative; }
    .qda-inspector-toggle.active { border-color: var(--cadet-dark); color: #fff; background: var(--cadet-deep); }
    .qda-inspector-toggle b { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border-radius: 9px; color: #fff; background: var(--app-coral); font-size: 9px; }
    .inspector-head-close { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
    .inspector-head-close > div { min-width: 0; }
    .qda-memo-excerpt { margin: 0; padding: 12px; border-left: 4px solid var(--app-gold); background: #fff8e9; font-size: 13px; line-height: 1.55; }
    .qda-memo-text { margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.65; }
}

@media screen and (max-width: 1180px) {
    .app-identity { min-width: 205px; }
    .app-context-inline .app-menu-trigger { padding-inline: 10px; }
    .apps-shell[data-app="qualitative"] .app-workspace { grid-template-columns: 270px minmax(0,1fr) 0; }
    .apps-shell[data-app="qualitative"].qda-inspector-open .app-workspace { grid-template-columns: 270px minmax(0,1fr) 330px; }
    .apps-shell[data-app="qualitative"].qda-sidebar-closed .app-workspace { grid-template-columns: 58px minmax(0,1fr) 0; }
    .apps-shell[data-app="qualitative"].qda-sidebar-closed.qda-inspector-open .app-workspace { grid-template-columns: 58px minmax(0,1fr) 330px; }
    .qda-sidebar-tabs { grid-template-columns: repeat(3,1fr) 34px; }
    .qda-sidebar-tabs span { display: none; }
}

@media screen and (max-width: 850px) {
    .research-app-active { --ff-shell-height: 56px; }
    .research-app-active .ff-shell { height: 56px; }
    .research-app-active .app-commandbar { height: 52px; overflow-x: auto; }
    .research-app-active .app-identity { min-width: 150px; }
    .research-app-active .app-identity span { display: grid; }
    .research-app-active .app-identity small { display: none; }
    .app-context-menu.app-context-inline { flex: 0 0 auto; height: 51px; overflow: visible; }
    .app-context-inline .app-menu-trigger,
    .app-switcher-menu > .app-menu-trigger { height: 51px; }
    .app-context-inline .app-menu-panel,
    .app-switcher-menu > .app-menu-panel { position: fixed; top: 108px; }
    .research-app-active .app-workspace,
    .apps-shell[data-app="qualitative"] .app-workspace,
    .apps-shell[data-app="qualitative"].qda-inspector-open .app-workspace,
    .apps-shell[data-app="qualitative"].qda-sidebar-closed .app-workspace,
    .apps-shell[data-app="qualitative"].qda-sidebar-closed.qda-inspector-open .app-workspace { height: auto; min-height: calc(100dvh - 108px); grid-template-columns: 1fr; }
    .apps-shell[data-app="qualitative"] .app-project-rail { max-height: 310px; border-bottom: 1px solid var(--app-line); }
    .apps-shell[data-app="qualitative"] .app-inspector,
    .apps-shell[data-app="qualitative"].qda-inspector-open .app-inspector { visibility: visible; width: auto; min-height: 0; display: none; }
    .apps-shell[data-app="qualitative"].qda-inspector-open .app-inspector { display: flex; }
    .apps-shell[data-app="qualitative"] .qda-document { padding: 24px 18px; font-size: 17px; }
}

/* Research apps use the same readable type system as the Florence workbench. */
.research-app-page,
.research-app-page button,
.research-app-page input,
.research-app-page select,
.research-app-page textarea,
.research-app-page .citation-preview,
.research-app-page .qda-document {
    font-family: Lato, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Shared Florence projects: QDA hierarchy, margin coding and Evidence Twins app. */
@media screen and (min-width: 1181px) {
    .apps-launch-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
.app-launch:nth-child(4) { border-top-color: var(--app-green); }
.app-launch:nth-child(4)>i { color: #25684f; background: #e0f0e8; }

.qda-document-shell { position: relative; min-height: 0; flex: 1; overflow: hidden; display: flex; }
.qda-document-shell .qda-document { width: 100%; }
.qda-document-shell.show-coding-bars .qda-document { padding-left: 128px; }
.qda-coding-margin { position: absolute; inset: 20px auto 20px 12px; z-index: 3; width: 98px; border-right: 1px solid #e3ecec; pointer-events: none; }
.qda-coding-margin button { position: absolute; top: var(--coding-top,0); left: var(--coding-x); width: 9px; height: var(--coding-height,16px); min-height: 16px; padding: 0; border: 0; border-left: 3px solid var(--coding-color); color: color-mix(in srgb,var(--coding-color) 78%,#10272a); background: transparent; pointer-events: auto; cursor: pointer; }
.qda-coding-margin button::before,.qda-coding-margin button::after { position: absolute; left: -5px; content: ""; }
.qda-coding-margin button::before { top: 0; bottom: 0; width: 7px; border-top: 2px solid var(--coding-color); border-bottom: 2px solid var(--coding-color); }
.qda-coding-margin button::after { top: 50%; width: 8px; height: 8px; border: 2px solid var(--coding-color); border-radius: 50%; background: #fff; transform: translate(-1px,-50%); }
.qda-coding-margin button span { position: absolute; top: 50%; left: 13px; z-index: 12; width: min(260px,35vw); display: grid; gap: 3px; padding: 9px 11px; border: 1px solid color-mix(in srgb,var(--coding-color) 45%,#dce8e8); border-left: 4px solid var(--coding-color); color: #203336; background: #fff; box-shadow: 0 8px 24px rgba(24,54,57,.18); text-align: left; opacity: 0; visibility: hidden; transform: translateY(-50%); transition: opacity .12s ease; pointer-events: none; }
.qda-coding-margin button span strong { overflow: hidden; font-size: 12px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.qda-coding-margin button span small { display: -webkit-box; overflow: hidden; color: #637579; font-size: 11px; font-weight: 500; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.qda-coding-margin button:hover,.qda-coding-margin button:focus-visible { background: color-mix(in srgb,var(--coding-color) 12%,#fff); outline: 0; }
.qda-coding-margin button:hover span,.qda-coding-margin button:focus-visible span { opacity: 1; visibility: visible; }

.research-app-page .qda-original-badge { display: inline-flex; align-items: center; gap: 5px; margin: 6px 8px 0 0; padding: 4px 8px; border: 1px solid #bfd4d5; color: #28585c; background: #edf6f6; font-size: 11px!important; font-weight: 900; line-height: 1; letter-spacing: .02em; vertical-align: middle; }
.research-app-page .qda-original-badge i { font-size: 13px; }

.qda-editor-toolbar { z-index: 5; min-height: 54px; display: flex; align-items: center; flex-wrap: wrap; gap: 5px; padding: 7px 14px; border-bottom: 1px solid var(--app-line); background: #f5f9f9; box-shadow: 0 4px 12px rgba(28,61,64,.06); }
.qda-editor-toolbar button,.qda-editor-toolbar select { min-width: 40px; height: 40px; border: 1px solid #bfd2d3; color: #214f53; background: #fff; font-size: 15px; cursor: pointer; }
.qda-editor-toolbar button { display: grid; place-items: center; }
.qda-editor-toolbar button:hover,.qda-editor-toolbar button:focus-visible,.qda-editor-toolbar select:focus-visible { border-color: var(--cadet-dark); color: #fff; background: var(--cadet-deep); outline: 2px solid rgba(95,158,160,.2); outline-offset: 1px; }
.qda-editor-toolbar select { min-width: 145px; padding: 0 34px 0 10px; font-size: 13px; font-weight: 800; }
.qda-editor-divider { width: 1px; height: 28px; margin: 0 3px; background: #cadada; }
.qda-editor-status { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding: 0 5px; color: #617579; font-size: 12px; font-weight: 800; }
.qda-editor-status .bi-circle-fill { color: #c3872f; font-size: 8px; }
.qda-editor-insert-dialog { width: min(540px, calc(100vw - 32px)); }
.qda-editor-insert-dialog section { display: grid; gap: 12px; padding: 22px 26px; }
.qda-editor-insert-dialog label { display: grid; gap: 7px; color: #294d51; font-size: 13px; font-weight: 900; text-transform: uppercase; }
.qda-editor-insert-dialog input { width: 100%; min-height: 48px; padding: 9px 12px; border: 1px solid #b9cdce; background: #fff; color: #142b2e; font: inherit; }
.qda-editor-insert-dialog .dialog-help { margin: 0; color: #617579; font-size: 14px; }
.qda-table-size { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 14px; }
.qda-table-size > span { padding-bottom: 12px; color: #416d71; font-size: 22px; font-weight: 900; }
.qda-document.editing { margin: 14px; padding: 34px clamp(30px,6vw,90px)!important; border: 1px solid #a8c5c6; background: #fff; box-shadow: inset 0 0 0 3px #edf5f5; white-space: normal; outline: 0; }
.qda-document.editing:focus { border-color: var(--cadet-deep); box-shadow: inset 0 0 0 3px #dcecec; }
.qda-document.rich-document { white-space: normal; }
.qda-document.rich-document p,.qda-document.editing p { margin: 0 0 1em; }
.qda-document.rich-document h2,.qda-document.editing h2 { margin: 1.25em 0 .55em; font-size: 1.55em; line-height: 1.25; }
.qda-document.rich-document h3,.qda-document.editing h3 { margin: 1.2em 0 .5em; font-size: 1.25em; line-height: 1.3; }
.qda-document.rich-document ul,.qda-document.rich-document ol,.qda-document.editing ul,.qda-document.editing ol { margin: .8em 0 1.1em; padding-left: 2em; }
.qda-document.rich-document blockquote,.qda-document.editing blockquote { margin: 1.2em 0; padding: .8em 1.1em; border-left: 5px solid var(--cadet); background: #eff6f6; }
.qda-document.rich-document table,.qda-document.editing table { width: 100%; margin: 1.25em 0; border-collapse: collapse; table-layout: fixed; }
.qda-document.rich-document th,.qda-document.rich-document td,.qda-document.editing th,.qda-document.editing td { min-width: 70px; padding: 9px 11px; border: 1px solid #b9cdce; text-align: left; vertical-align: top; }
.qda-document.rich-document th,.qda-document.editing th { color: #153f43; background: #e2eeee; font-weight: 900; }
.qda-document.rich-document figure,.qda-document.editing figure { margin: 1.5em auto; text-align: center; }
.qda-document.rich-document img,.qda-document.editing img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.qda-document.rich-document figcaption,.qda-document.editing figcaption { margin-top: 7px; color: #617579; font-size: .82em; font-style: italic; }
.qda-document.rich-document a,.qda-document.editing a { color: #176f7a; text-decoration: underline; text-underline-offset: 2px; }
.qda-editor-save .spin { display: inline-block; animation: qda-editor-spin .8s linear infinite; }
@keyframes qda-editor-spin { to { transform: rotate(360deg); } }

.qda-sidebar-tree .code-tree-branch { padding-left: calc(var(--code-depth) * 13px); }
.qda-sidebar-tree .code-tree-row { min-width: 0; display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; }
.qda-sidebar-tree .code-tree-row>.tree-record { grid-column: 2; }
.qda-sidebar-tree .code-tree-caret,.qda-sidebar-tree .code-tree-caret-spacer { grid-column: 1; grid-row: 1; width: 22px!important; height: 32px!important; display: grid; place-items: center; border: 0!important; background: transparent!important; font-size: 10px; }
.qda-sidebar-tree .code-tree-tools { grid-column: 3; grid-row: 1; display: none; align-items: center; gap: 2px; padding-left: 3px; }
.qda-sidebar-tree .code-tree-row:hover .code-tree-tools,.qda-sidebar-tree .tree-record.active+.code-tree-tools { display: flex; }
.qda-sidebar-tree .code-tree-tools button { width: 27px!important; height: 29px!important; border: 0!important; background: transparent!important; font-size: 11px; }
.qda-sidebar-tree .code-tree-tools button:hover { color: #fff; background: var(--cadet-deep)!important; }

.apps-shell[data-app="evidence"] .app-workspace { grid-template-columns: 250px minmax(760px,1fr) 320px; }
.evidence-workbench { min-height: 0; flex: 1; display: grid; grid-template-columns: 255px minmax(0,1fr); }
.twin-list { min-width: 0; overflow: auto; border-right: 1px solid var(--app-line); background: #f7fafa; }
.twin-list>header { position: sticky; top: 0; z-index: 2; padding: 16px; border-bottom: 1px solid var(--app-line); background: #f7fafa; }
.twin-list>header span { display: grid; }
.twin-list>header strong { font-size: 14px; }
.twin-list>header small { margin-top: 3px; color: var(--app-muted); font-size: 11px; }
.twin-list>button { width: 100%; display: grid; grid-template-columns: 36px minmax(0,1fr) 28px; align-items: center; gap: 9px; padding: 13px 11px; border: 0; border-bottom: 1px solid #e1eaea; border-left: 4px solid transparent; color: #25383b; background: transparent; text-align: left; cursor: pointer; }
.twin-list>button:hover,.twin-list>button.active { border-left-color: var(--cadet-dark); background: #e6f1f1; }
.twin-list>button>i { width: 34px; height: 34px; display: grid; place-items: center; color: var(--cadet-deep); background: #d9eaea; font-size: 16px; }
.twin-list>button span { min-width: 0; display: grid; }
.twin-list>button strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.twin-list>button small { margin-top: 3px; color: var(--app-muted); font-size: 10px; }
.twin-list>button>b { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--cadet-deep); font-size: 10px; }
.twin-list>p,.twin-empty-note { margin: 20px; color: var(--app-muted); font-size: 12px; line-height: 1.5; }
.twin-stage { min-width: 0; overflow: auto; background: #fff; }
.twin-head { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 24px; border-bottom: 1px solid var(--app-line); background: linear-gradient(90deg,#f2f8f8,#fff); }
.twin-head h2 { max-width: 800px; margin: 4px 0 7px; font-size: 25px; line-height: 1.2; }
.twin-head p:last-child { margin: 0; color: var(--app-muted); font-size: 13px; }
.twin-status { min-width: 150px; display: grid; grid-template-columns: 32px 1fr; align-items: center; padding: 12px; border-left: 4px solid var(--app-green); background: #e8f5ef; }
.twin-status.changed { border-left-color: var(--app-gold); background: #fff5df; }
.twin-status i { grid-row: 1/3; font-size: 22px; }
.twin-status strong { font-size: 12px; }
.twin-status small { color: var(--app-muted); font-size: 10px; }
.twin-tabs { position: sticky; top: 0; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--app-line); background: #fff; }
.twin-tabs button { min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-bottom: 3px solid transparent; color: #65777b; background: transparent; font-size: 12px; font-weight: 800; cursor: pointer; }
.twin-tabs button.active { border-bottom-color: var(--cadet-dark); color: var(--cadet-deep); background: #edf6f6; }
.twin-panel { padding: 22px 24px 42px; }
.twin-panel>header { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 15px; border-bottom: 1px solid var(--app-line); }
.twin-panel>header h3 { margin: 4px 0 0; font-size: 20px; }
.twin-panel>header>span { align-self: center; color: var(--cadet-deep); font-size: 12px; font-weight: 800; }
.shift-banner { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 14px; padding: 18px; border-left: 5px solid var(--app-green); background: #eaf5f0; }
.shift-banner.changed { border-left-color: var(--app-gold); background: #fff6e4; }
.shift-banner>i { font-size: 34px; }
.shift-banner h3 { margin: 4px 0; font-size: 18px; }
.shift-banner p:last-child { margin: 0; color: var(--app-muted); font-size: 12px; }
.twin-metrics { display: grid; grid-template-columns: repeat(3,1fr); margin: 18px 0; border-top: 1px solid var(--app-line); border-left: 1px solid var(--app-line); }
.twin-metrics span { min-height: 92px; display: grid; grid-template-columns: 32px 1fr; align-content: center; padding: 13px; border-right: 1px solid var(--app-line); border-bottom: 1px solid var(--app-line); }
.twin-metrics i { grid-row: 1/3; color: var(--cadet-dark); font-size: 20px; }
.twin-metrics strong { font-size: 20px; }
.twin-metrics small { color: var(--app-muted); font-size: 10px; }
.twin-radar,.twin-recent-items { margin-top: 20px; }
.twin-radar>header,.twin-recent-items>header { display: flex; justify-content: space-between; padding-bottom: 10px; }
.twin-radar h3,.twin-recent-items h3 { margin: 0; font-size: 15px; }
.twin-radar>header span,.twin-recent-items>header span { color: var(--app-muted); font-size: 11px; }
.twin-radar>div { min-height: 150px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; padding: 18px; border: 1px solid var(--app-line); background: #f8fafa; }
.twin-radar>div>span { min-width: calc(78px + var(--topic-weight) * 92px); min-height: calc(42px + var(--topic-weight) * 38px); display: grid; place-items: center; align-content: center; padding: 8px 13px; border: 1px solid #acd0d1; border-radius: 50%; background: color-mix(in srgb,var(--cadet) calc(13% + var(--topic-weight) * 22%),#fff); text-align: center; }
.twin-radar strong { font-size: calc(10px + var(--topic-weight) * 5px); }
.twin-radar small { font-size: 9px; }
.twin-recent-items { border-top: 1px solid var(--app-line); }
.twin-recent-items>header { padding-top: 16px; }
.twin-recent-items article,.family-list article,.gap-list article { display: grid; grid-template-columns: 70px minmax(0,1fr) 34px; align-items: center; gap: 12px; padding: 13px 4px; border-bottom: 1px solid #e3eaea; }
.twin-recent-items article>span { display: grid; }
.twin-recent-items article>span b { font-size: 16px; }
.twin-recent-items article>span small,.twin-recent-items article p { color: var(--app-muted); font-size: 10px; }
.twin-recent-items h4,.family-list h4,.gap-list h4 { margin: 0 0 4px; font-size: 13px; }
.twin-recent-items p,.family-list p,.gap-list p { margin: 0; }
.twin-recent-items a,.gap-list a { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--app-line); color: var(--cadet-deep); text-decoration: none; }
.evidence-inbox { margin: 18px; border: 1px solid var(--app-line); background: #fff; }
.evidence-inbox>header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid var(--app-line); background: var(--app-soft); }
.evidence-inbox>header h3 { margin: 3px 0 5px; font-size: 16px; }
.evidence-inbox>header p { margin: 0; color: var(--app-muted); }
.evidence-inbox>header>span { padding: 7px 10px; border: 1px solid var(--app-line); background: #fff; font-weight: 800; white-space: nowrap; }
.evidence-inbox>div>article { display: grid; grid-template-columns: 34px minmax(0,1fr) 38px 38px 38px; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--app-line); }
.evidence-inbox>div>article:last-child { border-bottom: 0; }
.evidence-inbox article>i { color: var(--app-primary); font-size: 18px; }
.evidence-inbox h4 { margin: 0 0 4px; font-size: 14px; }
.evidence-inbox p { margin: 0; color: var(--app-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evidence-inbox article>a,.evidence-inbox article>button { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--app-line); background: #fff; color: var(--app-deep); text-decoration: none; cursor: pointer; }
.evidence-inbox article>a:hover,.evidence-inbox article>button:hover { background: var(--app-primary); color: #fff; }
.evidence-documents { margin: 18px; border: 1px solid var(--app-line); background: #fff; }
.evidence-documents>header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid var(--app-line); background: #f0f7f7; }
.evidence-documents>header h3 { margin: 3px 0 5px; font-size: 17px; }
.evidence-documents>header p { margin: 0; color: var(--app-muted); }
.evidence-documents>header>span { padding: 7px 10px; border: 1px solid var(--app-line); background: #fff; font-weight: 800; white-space: nowrap; }
.evidence-documents>div>article { display: grid; grid-template-columns: 42px minmax(0,1fr) 38px 38px; align-items: center; gap: 12px; padding: 13px 18px; border-bottom: 1px solid var(--app-line); }
.evidence-documents>div>article:last-child { border-bottom: 0; }
.evidence-documents>div>article.active { background: #edf6f6; box-shadow: inset 4px 0 var(--app-primary); }
.evidence-documents article>i { width: 38px; height: 38px; display: grid; place-items: center; color: var(--app-primary); background: #e5f0f0; font-size: 19px; }
.evidence-documents article.format-pdf>i { color: #a92f35; background: #fbe8e8; }
.evidence-documents h4 { margin: 0 0 4px; font-size: 14px; }
.evidence-documents p { margin: 0; color: var(--app-muted); }
.evidence-documents article>a,.evidence-documents article>button { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--app-line); background: #fff; color: var(--app-deep); text-decoration: none; cursor: pointer; }
.evidence-documents article>a:hover,.evidence-documents article>button:hover { background: var(--app-primary); color: #fff; }
.evidence-documents-empty { padding: 22px; }
.evidence-document-preview { max-height: 320px; overflow: auto; white-space: pre-line; line-height: 1.65; }
.family-list article,.gap-list article { grid-template-columns: 38px minmax(0,1fr) 38px; }
.family-list article>i,.gap-list article>i { width: 36px; height: 36px; display: grid; place-items: center; color: var(--cadet-deep); background: #e4f0f0; }
.family-list article>div>span,.gap-list article>div>span { color: var(--app-muted); font-size: 10px; }
.scenario-studio form { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 18px 0; padding: 17px; border: 1px solid var(--app-line); background: #f8fafa; }
.scenario-studio form label { display: grid; gap: 5px; color: #52666a; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.scenario-studio form label.wide { grid-column: 1/-1; }
.scenario-studio input { min-height: 42px; padding: 9px 11px; border: 1px solid var(--app-line); background: #fff; font-size: 13px; }
.scenario-studio form button { grid-column: 1/-1; justify-self: end; }
.scenario-results { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.scenario-results article { padding: 15px; border: 1px solid var(--app-line); }
.scenario-results article header { display: flex; justify-content: space-between; }
.scenario-results h4 { margin: 0; }
.scenario-results article>div { display: grid; grid-template-columns: repeat(3,1fr); margin: 12px 0; }
.scenario-results article>div span { display: grid; padding: 8px; border-left: 3px solid var(--cadet); background: #f3f7f7; }
.scenario-results article>div strong { font-size: 18px; }
.scenario-results article>div small,.scenario-results article p { color: var(--app-muted); font-size: 10px; }
.twin-version-list,.twin-source-list { display: grid; gap: 6px; }
.twin-version-list span { display: grid; grid-template-columns: 34px minmax(0,1fr); padding: 8px; background: #f2f7f7; }
.twin-version-list b { grid-row: 1/3; }
.twin-version-list strong { font-size: 10px; }
.twin-version-list small { color: var(--app-muted); font-size: 9px; }
.twin-source-list span { display: flex; gap: 7px; font-size: 11px; }

@media screen and (max-width: 1450px) {
    .apps-shell[data-app="evidence"] .app-workspace { grid-template-columns: 220px minmax(660px,1fr) 280px; }
    .evidence-workbench { grid-template-columns: 220px minmax(0,1fr); }
}
@media screen and (max-width: 850px) {
    .apps-shell[data-app="evidence"] .app-workspace { grid-template-columns: 1fr; }
    .evidence-workbench { grid-template-columns: 1fr; }
    .twin-list { max-height: 230px; border-right: 0; border-bottom: 1px solid var(--app-line); }
    .twin-tabs { overflow-x: auto; grid-template-columns: repeat(4,minmax(135px,1fr)); }
    .twin-head { align-items: flex-start; flex-direction: column; }
    .twin-metrics,.scenario-results { grid-template-columns: repeat(2,1fr); }
    .scenario-studio form { grid-template-columns: 1fr; }
    .scenario-studio form label.wide { grid-column: auto; }
    .qda-document-shell.show-coding-bars .qda-document { padding-left: 102px; }
    .qda-coding-margin { width: 76px; }
}

/* Readable application scale and complete import/exchange surfaces. */
.research-app-page { font-size: 16px; }
.research-app-page .app-empty-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; }
.research-app-page .app-empty-actions button { min-height: 46px; margin-top: 8px; padding: 0 16px; font-size: 14px; }
.research-app-page .app-project-rail>header span,
.research-app-page .qda-sidebar-pane>header strong { font-size: 14px; }
.research-app-page .qda-sidebar-pane>header small,
.research-app-page .app-project-document small,
.research-app-page .app-statusline { font-size: 11px; }
.research-app-page .app-project-document strong,
.research-app-page .tree-record strong { font-size: 13px; }
.research-app-page .tree-record small { font-size: 11px; }
.research-app-page .tool-command { min-height: 42px; padding-inline: 13px; font-size: 13px; }
.research-app-page .app-suite-head>div>p,
.research-app-page .qda-reader-head span { font-size: 12px; }

.research-app-page .qda-code-picker { width: min(560px,calc(100vw - 20px)); max-height: min(720px,calc(100dvh - 20px)); }
.research-app-page .qda-code-picker>footer { grid-template-columns: repeat(4,minmax(0,1fr)); }
.research-app-page .qda-code-picker>footer .qda-picker-done { color: #fff; background: var(--cadet-deep); }
.research-app-page .qda-picker-codes>button.saving { opacity: .58; cursor: wait; }

.research-app-page .qda-exchange-dialog { width: min(820px,calc(100vw - 24px)); }
.qda-exchange-dialog form>header p:last-child { max-width: 650px; margin: 7px 0 0; color: var(--app-muted); font-size: 13px; line-height: 1.45; }
.qda-exchange-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 22px 24px; }
.qda-exchange-grid>button { min-height: 126px; display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 13px; padding: 17px; border: 1px solid var(--app-line); color: #243a3d; background: #fff; text-align: left; cursor: pointer; }
.qda-exchange-grid>button:hover { border-color: var(--cadet-dark); background: #f0f7f7; }
.qda-exchange-grid>button:disabled { opacity: .45; cursor: not-allowed; }
.qda-exchange-grid>button>i { width: 44px; height: 44px; display: grid; place-items: center; color: var(--cadet-deep); background: #deeded; font-size: 20px; }
.qda-exchange-grid>button>span { min-width: 0; display: grid; align-content: start; gap: 5px; }
.qda-exchange-grid strong { font-size: 16px; }
.qda-exchange-grid small { color: var(--app-muted); font-size: 12px; line-height: 1.45; }
.qda-exchange-grid em { justify-self: start; margin-top: 3px; padding: 3px 6px; color: var(--cadet-deep); background: #e4f0f0; font-size: 10px; font-style: normal; font-weight: 900; }
.qda-exchange-note { display: flex; align-items: center; gap: 11px; margin: 0 24px 20px; padding: 13px 15px; border-left: 4px solid var(--app-green); background: #edf7f1; }
.qda-exchange-note>i { color: var(--app-green); font-size: 20px; }
.qda-exchange-note>span { display: grid; gap: 2px; }
.qda-exchange-note strong { font-size: 13px; }
.qda-exchange-note small { color: var(--app-muted); font-size: 11px; }

.research-app-page .code-matrix-shell>header span,
.research-app-page .code-matrix-table th small,
.research-app-page .matrix-detail-heading small,
.research-app-page .matrix-detail-kpis small,
.research-app-page .matrix-retrieval small { font-size: 10px; }
.research-app-page .qda-analysis-tabs button,
.research-app-page .code-matrix-toolbar input,
.research-app-page .code-matrix-toolbar button,
.research-app-page .code-matrix-table,
.research-app-page .code-matrix-table th>button strong,
.research-app-page .code-matrix-table th>button>span>span,
.research-app-page .matrix-retrieval strong { font-size: 12px; }

@media screen and (max-width: 680px) {
    .qda-exchange-grid { grid-template-columns: 1fr; padding: 14px; }
    .qda-exchange-note { margin: 0 14px 14px; }
    .research-app-page .qda-code-picker>footer { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .qda-editor-toolbar { padding: 6px 8px; }
    .qda-editor-status { width: 100%; margin: 2px 0 0; }
    .qda-document.editing { margin: 7px; padding: 22px 17px!important; }
}

/* Florence 1.23.2: keep dense research workspaces readable on every display. */
.research-app-page .app-commandbar nav a,
.research-app-page .app-identity strong,
.research-app-page .app-project-item strong,
.research-app-page .app-suite-toolbar label,
.research-app-page .app-suite-toolbar .tool-command {
    font-size: 13px;
}
.research-app-page .app-identity small,
.research-app-page .app-project-item small,
.research-app-page .app-project-rail>footer,
.research-app-page .app-suite-kpis small,
.research-app-page .app-suite-head p:last-child {
    font-size: 11px;
}
.research-app-page .reference-groups h3,
.research-app-page .document-tree h3,
.research-app-page .code-tree h3,
.research-app-page .inspector-section h3,
.research-app-page .app-data-table th {
    font-size: 11px;
}
.research-app-page .reference-groups button,
.research-app-page .app-data-table,
.research-app-page .inspector-actions button,
.research-app-page .inspector-section dd,
.research-app-page .citation-preview {
    font-size: 13px;
}
.research-app-page .reference-groups button b,
.research-app-page .reference-title small,
.research-app-page .reference-meta,
.research-app-page .source-id,
.research-app-page .inspector-head p,
.research-app-page .inspector-section dt,
.research-app-page .app-inspector-empty span {
    font-size: 11px;
}
.research-app-page .reference-title strong,
.research-app-page .app-inspector-empty strong {
    font-size: 14px;
}
.research-app-page .inspector-head h2 {
    font-size: 20px;
}
.research-app-page .inspector-section textarea,
.research-app-page .app-dialog input,
.research-app-page .app-dialog textarea,
.research-app-page .app-dialog select {
    font-size: 14px;
}
.research-app-page .app-dialog form>label,
.research-app-page .app-dialog #recordDialogFields>label,
.research-app-page .app-team-scope small {
    font-size: 12px;
}
.research-app-page .app-team-scope strong {
    font-size: 14px;
}
.apps-shell[data-app="qualitative"] .qda-sidebar-tabs>button,
.research-app-page .code-tools button,
.research-app-page .qda-code-action span,
.research-app-page .qda-code-action button {
    font-size: 13px;
}
.research-app-page .data-editor,
.research-app-page .data-editor td input,
.research-app-page .analysis-menu button,
.research-app-page .stats-tabs button,
.research-app-page .analysis-output p {
    font-size: 13px;
}
.research-app-page .analysis-menu h3,
.research-app-page .data-editor th,
.research-app-page .metric-grid small,
.research-app-page .quality-list b {
    font-size: 11px;
}

@media screen and (max-width: 760px) {
    .research-app-page .app-commandbar nav a,
    .research-app-page .reference-groups button,
    .research-app-page .app-data-table,
    .research-app-page .inspector-actions button {
        font-size: 12px;
    }
}

/* Florence 1.26.1: final suite hierarchy, restrained typography and literature editor. */
.research-app-page {
    font-family: Lato, Arial, sans-serif;
    font-weight: 400;
}
.research-app-page h1,
.research-app-page h2,
.research-app-page h3,
.research-app-page h4,
.research-app-page .app-identity strong,
.research-app-page .app-project-item strong,
.research-app-page .reference-title strong,
.research-app-page .inspector-head h2 {
    color: var(--cadet-deep);
    font-weight: 600;
}
.research-app-page strong,
.research-app-page b {
    font-weight: 600;
}
.research-app-page button,
.research-app-page input,
.research-app-page textarea,
.research-app-page select,
.research-app-page .app-commandbar nav a,
.research-app-page .app-menu-trigger,
.research-app-page .app-menu-panel button,
.research-app-page .livia-tabs button,
.research-app-page .livia-action-menu > summary {
    font-family: Lato, Arial, sans-serif;
    font-weight: 500;
}
.research-app-page .primary-button,
.research-app-page button.primary,
.research-app-page .livia-source-actions button.primary {
    font-weight: 600;
}
.research-app-page .citation-preview,
.research-app-page .livia-fulltext,
.research-app-page .livia-fulltext p,
.research-app-page .livia-reader-content,
.research-app-page .livia-reader-content p {
    font-family: Lato, Arial, sans-serif;
    font-weight: 400;
}
.research-app-page .app-commandbar .app-suite-switcher a {
    font-weight: 500;
}
.research-app-page .app-commandbar .app-suite-switcher a.active {
    font-weight: 600;
}

.research-app-page .apps-shell[data-app="literature"] .app-workspace.literature-workspace {
    grid-template-columns: 245px minmax(560px, 1fr) minmax(350px, 410px);
}
.research-app-page .livia-suite {
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
}
.research-app-page .livia-project-head {
    min-height: 82px;
    display: grid;
    grid-template-columns: minmax(250px, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--app-line);
    background: #f7fafb;
}
.research-app-page .livia-project-copy { min-width: 0; }
.research-app-page .livia-project-head .livia-project-copy h1 {
    margin: 2px 0 3px;
    max-width: 100%;
    font-size: 22px;
    line-height: 1.12;
}
.research-app-page .livia-project-head .livia-project-copy p {
    margin: 0;
    font-size: 13px;
}
.research-app-page .livia-project-head > .livia-project-controls {
    min-width: 0;
    align-self: center;
    display: flex!important;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}
.research-app-page .livia-project-stats {
    display: flex;
    align-items: stretch;
    border-left: 1px solid var(--app-line);
}
.research-app-page .livia-project-head > .livia-project-controls .livia-project-stats span {
    min-width: 72px;
    display: grid;
    gap: 1px;
    align-content: center;
    padding: 6px 13px;
    border: 0;
    border-right: 1px solid var(--app-line);
    background: transparent;
}
.research-app-page .livia-project-stats strong { font-size: 19px; line-height: 1; }
.research-app-page .livia-project-stats small { color: var(--app-muted); font-size: 11px; }
.research-app-page .livia-project-actions,
.research-app-page .livia-source-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}
.research-app-page .livia-action-menu { position: relative; }
.research-app-page .livia-action-menu > summary {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid var(--app-line-strong);
    background: #fff;
    color: var(--app-ink);
    cursor: pointer;
    list-style: none;
}
.research-app-page .livia-action-menu > summary::-webkit-details-marker { display: none; }
.research-app-page .livia-action-popover,
.research-app-page .livia-action-menu-panel {
    position: absolute;
    z-index: 90;
    top: calc(100% + 6px);
    right: 0;
    width: 224px;
    display: grid;
    padding: 5px;
    border: 1px solid var(--app-line-strong);
    background: #fff;
    box-shadow: 0 16px 34px rgba(23, 50, 53, .16);
}
.research-app-page .livia-action-popover button,
.research-app-page .livia-action-menu-panel button {
    width: 100%;
    min-height: 38px;
    justify-content: flex-start;
    border: 0;
    background: #fff;
    text-align: left;
}
.research-app-page .livia-action-popover button:hover,
.research-app-page .livia-action-menu-panel button:hover { background: #eef6f6; }
.research-app-page .livia-project-head > .livia-project-controls .livia-action-menu span,
.research-app-page .livia-project-head > .livia-project-controls .livia-source-actions span {
    min-width: 0;
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
}
.research-app-page .livia-source-actions button {
    min-height: 36px;
    padding: 0 11px;
}
.research-app-page .livia-project-toolbar { display: none!important; }
.research-app-page .livia-tabs {
    min-height: 43px;
    flex: 0 0 43px;
    order: 2;
    padding: 0 14px;
    border-top: 0;
    border-bottom: 1px solid var(--app-line-strong);
    background: #fff;
}
.research-app-page .livia-tabs button {
    min-height: 43px;
    padding: 0 12px;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: var(--app-muted);
    font-size: 13px;
}
.research-app-page .livia-tabs button.active {
    border-bottom-color: var(--cadet-dark);
    background: #eef6f6;
    color: var(--cadet-deep);
}
.research-app-page .livia-document-head {
    min-height: 72px;
    order: 3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    padding: 11px 18px;
    border-bottom: 1px solid var(--app-line);
    background: #fff;
}
.research-app-page .livia-document-main { min-width: 0; }
.research-app-page .livia-document-head h2 {
    overflow: hidden;
    margin: 0;
    max-width: 900px;
    color: var(--cadet-deep);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.22;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.research-app-page .livia-document-meta {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 5px;
    color: var(--app-muted);
    font-size: 12px;
}
.research-app-page .livia-document-actions { display: flex; gap: 6px; }
.research-app-page .livia-document-actions button { min-height: 35px; padding: 0 10px; }
.research-app-page .livia-pane,
.research-app-page .livia-workspace-panel { order: 4; }

.research-app-page .app-dialog.app-reference-dialog {
    width: min(1180px, calc(100vw - 40px));
    max-width: none;
}
.research-app-page .app-reference-dialog form {
    max-height: calc(100dvh - 32px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
}
.research-app-page .app-reference-dialog #recordDialogFields.reference-field-grid {
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
    align-content: start;
    padding: 16px 24px;
    overflow: visible;
}
.research-app-page .app-reference-dialog #recordDialogFields.reference-field-grid > label {
    min-width: 0;
    gap: 5px;
    margin: 0;
    font-weight: 500;
}
.research-app-page .app-reference-dialog #recordDialogFields.reference-field-grid > label:nth-child(1),
.research-app-page .app-reference-dialog #recordDialogFields.reference-field-grid > label:nth-child(8),
.research-app-page .app-reference-dialog #recordDialogFields.reference-field-grid > label:nth-child(9),
.research-app-page .app-reference-dialog #recordDialogFields.reference-field-grid > label:nth-child(12) {
    grid-column: 1 / -1;
}
.research-app-page .app-reference-dialog input,
.research-app-page .app-reference-dialog select {
    min-height: 42px;
    padding: 9px 11px;
    font-weight: 400;
}
.research-app-page .app-reference-dialog textarea[name="abstract"] {
    min-height: 112px;
    max-height: 140px;
    padding: 10px 11px;
    resize: vertical;
    font-weight: 400;
    line-height: 1.45;
}

@media screen and (max-width: 1480px) {
    .research-app-page .apps-shell[data-app="literature"] .app-workspace.literature-workspace {
        grid-template-columns: 230px minmax(530px, 1fr) 350px;
    }
    .research-app-page .livia-project-head { gap: 10px; }
    .research-app-page .livia-project-head > .livia-project-controls .livia-project-stats span {
        min-width: 62px;
        padding-inline: 9px;
    }
}
@media screen and (max-width: 1180px) {
    .research-app-page .apps-shell[data-app="literature"] .app-workspace.literature-workspace {
        grid-template-columns: 220px minmax(0, 1fr);
    }
    .research-app-page .livia-reader { display: none; }
    .research-app-page .livia-project-stats { display: none; }
}
@media screen and (max-width: 900px) {
    .research-app-page .apps-shell[data-app="literature"] .app-workspace.literature-workspace { display: block; }
    .research-app-page .livia-project-head { grid-template-columns: 1fr; align-items: start; }
    .research-app-page .livia-project-head > .livia-project-controls { width: 100%; justify-content: space-between; }
    .research-app-page .livia-document-head { grid-template-columns: 1fr; }
    .research-app-page .app-reference-dialog #recordDialogFields.reference-field-grid {
        grid-template-columns: 1fr;
        overflow-y: auto;
    }
    .research-app-page .app-reference-dialog #recordDialogFields.reference-field-grid > label { grid-column: 1; }
}
@media screen and (max-height: 760px) and (min-width: 901px) {
    .research-app-page .app-reference-dialog form>header { padding-block: 13px; }
    .research-app-page .app-reference-dialog #recordDialogFields.reference-field-grid {
        gap: 6px 16px;
        padding-block: 10px;
    }
    .research-app-page .app-reference-dialog input,
    .research-app-page .app-reference-dialog select { min-height: 36px; padding-block: 6px; }
    .research-app-page .app-reference-dialog textarea[name="abstract"] { min-height: 72px; max-height: 88px; }
    .research-app-page .app-reference-dialog form>footer { padding-block: 9px; }
}

/* Florence 1.26.1: final LIVIA layout lock after legacy responsive rules. */
.research-app-page .apps-shell[data-app="literature"] .app-workspace.literature-workspace {
    grid-template-columns: 245px minmax(0, 1fr) minmax(330px, 390px);
}
.research-app-page .livia-suite {
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
}
.research-app-page .livia-project-head {
    min-height: 82px;
    display: grid;
    grid-template-columns: minmax(250px, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--app-line);
    background: #f7fafb;
}
.research-app-page .livia-project-copy {
    min-width: 0;
}
.research-app-page .livia-project-head .livia-project-copy h1 {
    margin: 2px 0 3px;
    max-width: 100%;
    font-size: 22px;
    line-height: 1.12;
}
.research-app-page .livia-project-head .livia-project-copy p {
    margin: 0;
    font-size: 13px;
}
.research-app-page .livia-project-head > .livia-project-controls {
    min-width: 0;
    align-self: center;
    display: flex!important;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}
.research-app-page .livia-project-stats {
    display: flex;
    align-items: stretch;
    border-left: 1px solid var(--app-line);
}
.research-app-page .livia-project-head > .livia-project-controls .livia-project-stats span {
    min-width: 72px;
    display: grid;
    gap: 1px;
    align-content: center;
    padding: 6px 13px;
    border: 0;
    border-right: 1px solid var(--app-line);
    background: transparent;
}
.research-app-page .livia-project-stats strong {
    font-size: 19px;
    line-height: 1;
}
.research-app-page .livia-project-stats small {
    font-size: 11px;
    color: var(--app-muted);
}
.research-app-page .livia-project-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}
.research-app-page .livia-action-menu {
    position: relative;
}
.research-app-page .livia-action-menu > summary {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid var(--app-line-strong);
    background: #fff;
    color: var(--app-ink);
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}
.research-app-page .livia-action-menu > summary::-webkit-details-marker {
    display: none;
}
.research-app-page .livia-action-menu[open] > summary {
    border-color: var(--cadet-dark);
    color: var(--cadet-deep);
}
.research-app-page .livia-action-popover {
    position: absolute;
    z-index: 90;
    top: calc(100% + 6px);
    right: 0;
    width: 224px;
    padding: 5px;
    border: 1px solid var(--app-line-strong);
    background: #fff;
    box-shadow: 0 16px 34px rgba(23, 50, 53, .16);
}
.research-app-page .livia-action-popover button {
    width: 100%;
    min-height: 38px;
    justify-content: flex-start;
    border: 0;
    background: #fff;
    text-align: left;
}
.research-app-page .livia-action-popover button:hover {
    background: #eef6f6;
}
.research-app-page .livia-project-head > .livia-project-controls .livia-action-menu span,
.research-app-page .livia-project-head > .livia-project-controls .livia-source-actions span {
    min-width: 0;
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
}
.research-app-page .livia-source-actions {
    display: flex;
    gap: 6px;
}
.research-app-page .livia-source-actions button {
    min-height: 36px;
    padding: 0 11px;
}
.research-app-page .livia-project-toolbar {
    display: none!important;
}
.research-app-page .livia-tabs {
    min-height: 43px;
    flex: 0 0 43px;
    order: 2;
    padding: 0 14px;
    border-top: 0;
    border-bottom: 1px solid var(--app-line-strong);
    background: #fff;
}
.research-app-page .livia-tabs button {
    min-height: 43px;
    padding: 0 12px;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: var(--app-muted);
    font-size: 13px;
}
.research-app-page .livia-tabs button.active {
    border-bottom-color: var(--cadet-dark);
    background: #eef6f6;
    color: var(--cadet-deep);
}
.research-app-page .livia-document-head {
    min-height: 72px;
    order: 3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    padding: 11px 18px;
    border-bottom: 1px solid var(--app-line);
    background: #fff;
}
.research-app-page .livia-document-main {
    min-width: 0;
}
.research-app-page .livia-document-head h2 {
    margin: 0;
    max-width: 900px;
    font-size: 19px;
    line-height: 1.22;
}
.research-app-page .livia-document-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 5px;
    color: var(--app-muted);
    font-size: 12px;
}
.research-app-page .livia-source-meta {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 5px;
}
.research-app-page .livia-source-meta span {
    min-height: 22px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 7px;
    background: #e6f0f0;
    color: #355d61;
    font-size: 11px;
    font-weight: 700;
}
.research-app-page .livia-document-actions {
    display: flex;
    gap: 6px;
}
.research-app-page .livia-document-actions button {
    min-height: 35px;
    padding: 0 10px;
}
.research-app-page .livia-pane {
    order: 4;
}

@media screen and (max-width: 1480px) {
    .research-app-page .apps-shell[data-app="literature"] .app-workspace.literature-workspace {
        grid-template-columns: 230px minmax(0, 1fr) 335px;
    }
    .research-app-page .livia-project-head {
        grid-template-columns: minmax(220px, 1fr) auto;
        gap: 10px;
    }
    .research-app-page .livia-project-head > .livia-project-controls .livia-project-stats span {
        min-width: 62px;
        padding-inline: 9px;
    }
}
@media screen and (max-width: 1180px) {
    .research-app-page .apps-shell[data-app="literature"] .app-workspace.literature-workspace {
        grid-template-columns: 220px minmax(0, 1fr);
    }
    .research-app-page .livia-reader {
        display: none;
    }
    .research-app-page .livia-project-head {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .research-app-page .livia-project-stats {
        display: none;
    }
}
@media screen and (max-width: 900px) {
    .research-app-page .apps-shell[data-app="literature"] .app-workspace.literature-workspace {
        display: block;
    }
    .research-app-page .livia-project-head {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .research-app-page .livia-project-head > .livia-project-controls {
        width: 100%;
        justify-content: space-between;
    }
    .research-app-page .livia-document-head {
        grid-template-columns: 1fr;
    }
}

/* Florence 1.26.1: one visible Research Suite switcher and a calm LIVIA workspace. */
.research-app-page .app-suite-switcher {
    min-width: 0;
    display: flex;
    align-items: stretch;
    justify-content: center;
    border-right: 1px solid var(--app-line);
    background: #f8fbfb;
}
.research-app-page .app-commandbar .app-suite-switcher a {
    position: relative;
    min-width: 86px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 11px;
    border-right: 1px solid #e4ebeb;
    border-bottom: 3px solid transparent;
    color: #5e7074;
    background: transparent;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.research-app-page .app-commandbar .app-suite-switcher a:last-child { border-right: 0; }
.research-app-page .app-commandbar .app-suite-switcher a:hover {
    color: var(--cadet-deep);
    background: #eef6f6;
}
.research-app-page .app-commandbar .app-suite-switcher a.active {
    border-bottom-color: var(--cadet-dark);
    color: var(--cadet-deep);
    background: #e4f0f0;
    font-weight: 850;
}
.research-app-page .app-commandbar .app-suite-switcher a.active::after {
    content: '';
    position: absolute;
    top: 9px;
    right: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--app-green);
}
.research-app-page .app-suite-switcher i { font-size: 15px; }
.research-app-page .app-identity { min-width: 225px; padding-inline: 13px; }
.research-app-page .app-identity small { letter-spacing: .02em; }

.apps-shell[data-app="literature"] .app-workspace {
    grid-template-columns: 245px minmax(560px,1fr) 390px;
}
.livia-suite { display: flex; flex-direction: column; }
.livia-project-head {
    min-height: 70px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 8px 14px;
    background: #f5fafb;
}
.livia-project-copy { min-width: 0; flex: 1; }
.livia-project-copy h1 { margin: 1px 0 2px; font-size: 21px; }
.livia-project-copy p:last-child {
    overflow: hidden;
    max-width: 660px;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.livia-project-controls {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
}
.livia-project-stats { align-self: stretch; display: flex; }
.livia-project-stats span {
    min-width: 66px;
    display: grid;
    align-content: center;
    padding: 0 10px;
    border-left: 1px solid var(--livia-line);
}
.livia-project-stats strong { font-size: 18px; }
.livia-project-stats small { color: var(--livia-muted); font-size: 10px; }
.livia-project-toolbar { display: none; }
.livia-action-menu { position: relative; }
.livia-action-menu summary,
.livia-source-actions button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 10px;
    border: 1px solid var(--livia-line);
    border-radius: 3px;
    color: var(--livia-blue-dark);
    background: #fff;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}
.livia-action-menu summary::-webkit-details-marker { display: none; }
.livia-action-menu[open] summary,
.livia-action-menu summary:hover,
.livia-source-actions button:hover { border-color: #8fc4db; background: #edf8fc; }
.livia-action-menu-panel {
    position: absolute;
    z-index: 40;
    top: calc(100% + 6px);
    right: 0;
    width: 210px;
    display: grid;
    padding: 6px;
    border: 1px solid var(--livia-line);
    background: #fff;
    box-shadow: 0 14px 35px rgba(22,55,69,.17);
}
.livia-action-menu-panel button {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 10px;
    border: 0;
    color: var(--livia-blue-dark);
    background: transparent;
    font: inherit;
    font-size: 12px;
    text-align: left;
    cursor: pointer;
}
.livia-action-menu-panel button:hover { background: #edf8fc; }
.livia-source-actions { display: flex; align-items: center; gap: 5px; }
.livia-source-actions button.primary { border-color: var(--livia-blue); color: #fff; background: var(--livia-blue); }
.livia-tabs { min-height: 42px; order: 2; padding-inline: 6px; }
.livia-tabs button { min-height: 42px; padding: 0 11px; font-size: 12px; font-weight: 700; }
.livia-document-head {
    min-height: 72px;
    order: 3;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 12px;
    padding: 9px 16px;
    background: #fff;
}
.livia-document-main { min-width: 0; }
.livia-document-head h2 {
    overflow: hidden;
    margin: 0 0 4px;
    font-size: 17px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.livia-document-meta { min-width: 0; display: flex; align-items: center; gap: 9px; }
.livia-document-meta > span:first-child {
    overflow: hidden;
    color: var(--livia-muted);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.livia-document-meta .livia-source-badges { flex: 0 0 auto; justify-content: flex-start; }
.livia-document-head .livia-document-actions { grid-column: auto; flex-wrap: nowrap; justify-content: flex-end; }
.livia-document-actions button { min-height: 33px; padding-inline: 9px; }
.livia-workspace-panel { order: 4; padding: 14px; }
.livia-suite > .app-statusline { order: 5; }

@media screen and (max-width: 1480px) {
    .research-app-page .app-identity { min-width: 200px; }
    .research-app-page .app-commandbar .app-suite-switcher a { min-width: 46px; padding-inline: 9px; }
    .research-app-page .app-suite-switcher a span { display: none; }
    .apps-shell[data-app="literature"] .app-workspace { grid-template-columns: 230px minmax(530px,1fr) 350px; }
}
@media screen and (max-width: 1180px) {
    .livia-project-head > .livia-project-controls { display: flex; }
    .livia-project-stats { display: none; }
    .apps-shell[data-app="literature"] .app-workspace { grid-template-columns: 215px minmax(520px,1fr) 320px; }
}
@media screen and (max-width: 900px) {
    .research-app-page .app-commandbar .app-suite-switcher a { min-width: 42px; }
    .livia-project-head { display: flex; align-items: center; }
    .livia-project-copy p:last-child { display: none; }
    .livia-project-controls { gap: 4px; }
    .livia-action-menu summary span,
    .livia-source-actions button span { display: none; }
    .apps-shell[data-app="literature"] .app-workspace { grid-template-columns: 1fr; }
    .livia-document-head { grid-template-columns: minmax(0,1fr) auto; }
}

/* Florence LIVIA: complete literature workshop */
.apps-shell[data-app="literature"] {
    --livia-blue: #176ca8;
    --livia-blue-dark: #124f7c;
    --livia-cyan: #1e91b8;
    --livia-green: #25845e;
    --livia-ink: #152b3e;
    --livia-muted: #617789;
    --livia-line: #c9dce8;
    --livia-soft: #edf7fc;
    --livia-pale: #f7fbfd;
    color: var(--livia-ink);
}
.apps-shell[data-app="literature"] .app-workspace {
    grid-template-columns: 300px minmax(680px, 1fr) 410px;
    background: var(--livia-soft);
}
.apps-shell[data-app="literature"] .app-project-rail,
.apps-shell[data-app="literature"] .app-inspector {
    background: #f7fbfd;
}
.apps-shell[data-app="literature"] .app-project-rail {
    border-right-color: var(--livia-line);
}
.apps-shell[data-app="literature"] .app-project-rail > header {
    color: var(--livia-blue-dark);
    background: #fff;
}
.apps-shell[data-app="literature"] .app-project-search {
    min-height: 44px;
    border-color: var(--livia-line);
    background: #fff;
}
.apps-shell[data-app="literature"] .app-project-search input {
    font-size: 14px;
}
.apps-shell[data-app="literature"] .app-project-list {
    display: block;
    padding: 0;
}
.livia-project-sources {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}
.livia-project-select {
    display: grid;
    gap: 6px;
    padding: 14px;
    border-bottom: 1px solid var(--livia-line);
    background: #eaf5fb;
}
.livia-project-select span,
.livia-mini-form label,
.livia-form label,
.livia-relation-form label > span {
    color: var(--livia-muted);
    font-size: 12px;
    font-weight: 800;
}
.livia-project-select select,
.livia-form input,
.livia-form textarea,
.livia-form select,
.livia-mini-form input,
.livia-mini-form textarea,
.livia-mini-form select,
.livia-relation-form input,
.livia-relation-form select {
    width: 100%;
    min-height: 40px;
    padding: 9px 11px;
    border: 1px solid var(--livia-line);
    border-radius: 2px;
    color: var(--livia-ink);
    background: #fff;
    font-size: 14px;
    outline: 0;
}
.livia-form textarea,
.livia-mini-form textarea {
    line-height: 1.55;
    resize: vertical;
}
.livia-project-select select:focus,
.livia-form input:focus,
.livia-form textarea:focus,
.livia-form select:focus,
.livia-mini-form input:focus,
.livia-mini-form textarea:focus,
.livia-mini-form select:focus,
.livia-relation-form input:focus,
.livia-relation-form select:focus {
    border-color: var(--livia-cyan);
    box-shadow: 0 0 0 3px rgba(30,145,184,.13);
}
.livia-rail-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--livia-line);
    background: #fff;
}
.apps-shell[data-app="literature"] .livia-rail-actions button {
    width: auto;
    height: 36px;
    display: inline-flex;
    gap: 7px;
    padding: 0 9px;
    color: var(--livia-blue-dark);
    font-size: 12px;
    font-weight: 800;
}
.livia-source-count {
    padding: 12px 14px 7px;
    color: var(--livia-muted);
    font-size: 12px;
    font-weight: 800;
}
.livia-source-list {
    min-height: 0;
    flex: 1;
    overflow: auto;
    padding: 0 9px 12px;
}
.apps-shell[data-app="literature"] .livia-source-card {
    width: 100%;
    height: auto;
    display: grid;
    justify-items: stretch;
    gap: 5px;
    margin: 0 0 7px;
    padding: 12px;
    border: 1px solid var(--livia-line);
    border-left: 4px solid transparent;
    border-radius: 2px;
    color: var(--livia-ink);
    background: #fff;
    text-align: left;
}
.apps-shell[data-app="literature"] .livia-source-card:hover,
.apps-shell[data-app="literature"] .livia-source-card.active {
    border-color: #8fc4db;
    border-left-color: var(--livia-blue);
    background: #e8f5fb;
}
.livia-source-title {
    display: -webkit-box;
    overflow: hidden;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.livia-source-card > small {
    overflow: hidden;
    color: var(--livia-muted);
    font-size: 12px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.livia-source-meta {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}
.livia-source-meta em,
.livia-source-meta b,
.livia-source-badges span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 6px;
    border-radius: 2px;
    color: #456273;
    background: #e9f1f5;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}
.livia-source-meta .pdf,
.livia-source-badges .pdf {
    color: #146b45;
    background: #dff3e9;
}
.livia-source-meta b {
    color: #9c302d;
    background: #f9dfdd;
}
.livia-suite {
    min-height: 100%;
    height: 100%;
    background: #fff;
}
.livia-project-head {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 15px 20px;
    border-bottom: 1px solid var(--livia-line);
    background: linear-gradient(90deg,#eaf6fb 0,#f8fcfe 64%,#fff 100%);
}
.livia-project-head h1 {
    margin: 3px 0 4px;
    color: var(--livia-ink);
    font-size: 25px;
    line-height: 1.15;
}
.livia-project-head p:last-child {
    margin: 0;
    color: var(--livia-muted);
    font-size: 14px;
}
.livia-project-head > div:last-child {
    align-self: stretch;
    display: flex;
}
.livia-project-head > div:last-child span {
    min-width: 88px;
    display: grid;
    align-content: center;
    padding: 0 14px;
    border-left: 1px solid var(--livia-line);
}
.livia-project-head strong {
    font-size: 21px;
}
.livia-project-head small {
    color: var(--livia-muted);
    font-size: 11px;
}
.livia-project-toolbar {
    min-height: 49px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-bottom: 1px solid var(--livia-line);
    background: #fff;
}
.livia-project-toolbar > span {
    flex: 1;
}
.livia-project-toolbar button,
.livia-document-actions button,
.livia-dashboard button,
.livia-notes header button,
.livia-tasks header button,
.livia-writing header button,
.livia-form header button,
.livia-relations button {
    min-height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid var(--livia-line);
    border-radius: 2px;
    color: var(--livia-blue-dark);
    background: #fff;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}
.livia-project-toolbar button:hover,
.livia-document-actions button:hover,
.livia-dashboard button:hover,
.livia-tabs button:hover {
    border-color: #8fc4db;
    background: #edf8fc;
}
.livia-project-toolbar button.primary,
.livia-dashboard button.primary,
.livia-form button.primary,
.livia-mini-form button.primary,
.livia-tasks button.primary {
    border-color: var(--livia-blue);
    color: #fff;
    background: var(--livia-blue);
}
.livia-document-head {
    min-height: 92px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    align-items: center;
    gap: 16px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--livia-line);
    background: #f8fcfe;
}
.livia-document-head h2 {
    margin: 0 0 5px;
    font-size: 20px;
    line-height: 1.3;
}
.livia-document-head p {
    margin: 0;
    color: var(--livia-muted);
    font-size: 13px;
    line-height: 1.45;
}
.livia-source-badges,
.livia-document-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.livia-tabs {
    min-height: 48px;
    display: flex;
    align-items: stretch;
    overflow-x: auto;
    border-bottom: 1px solid var(--livia-line);
    background: #fff;
}
.livia-tabs button {
    position: relative;
    min-width: max-content;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    border: 0;
    border-bottom: 3px solid transparent;
    color: #526a79;
    background: transparent;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}
.livia-tabs button.active {
    border-bottom-color: var(--livia-cyan);
    color: var(--livia-blue-dark);
    background: #eff8fc;
}
.livia-tabs button b {
    min-width: 19px;
    height: 19px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #b23c37;
    font-size: 10px;
}
.livia-workspace-panel {
    min-height: 0;
    flex: 1;
    overflow: auto;
    padding: 18px;
    background: #f4f9fc;
}
.livia-dashboard {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr);
    gap: 14px;
}
.livia-dashboard > article,
.livia-preflight,
.livia-note-grid > div,
.livia-mini-form,
.livia-section-list,
.livia-relations,
.livia-tasks {
    border: 1px solid var(--livia-line);
    background: #fff;
}
.livia-dashboard > article {
    min-height: 190px;
    padding: 20px;
}
.livia-dashboard .livia-why > p:last-child {
    margin: 15px 0 0;
    font-size: 15px;
    line-height: 1.7;
}
.livia-kpi-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 16px;
    border-top: 1px solid var(--livia-line);
    border-left: 1px solid var(--livia-line);
}
.livia-kpi-grid span {
    min-height: 70px;
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 10px 13px;
    border-right: 1px solid var(--livia-line);
    border-bottom: 1px solid var(--livia-line);
}
.livia-kpi-grid small {
    color: var(--livia-muted);
    font-size: 11px;
}
.livia-kpi-grid strong {
    font-size: 16px;
}
.livia-next {
    grid-column: 1 / -1;
    min-height: auto !important;
}
.livia-next > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}
.livia-cockpit {
    display: grid;
    grid-template-columns: minmax(0,1fr) 290px;
    gap: 14px;
}
.livia-form {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--livia-line);
    background: #fff;
}
.livia-form > header,
.livia-notes > header,
.livia-tasks > header,
.livia-writing > header,
.livia-relations > header {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--livia-line);
}
.livia-form h3,
.livia-notes h3,
.livia-tasks h3,
.livia-writing h3,
.livia-relations h3 {
    margin: 3px 0 0;
    font-size: 19px;
}
.livia-form label,
.livia-mini-form label {
    display: grid;
    align-content: start;
    gap: 6px;
}
.livia-form label.wide {
    grid-column: 1 / -1;
}
.livia-form-stack {
    display: grid;
    gap: 12px;
}
.livia-form .check {
    grid-template-columns: auto 1fr;
    align-items: center;
}
.livia-form .check input,
.livia-mini-form .check input {
    width: 18px;
    min-height: 18px;
}
.livia-preflight {
    align-self: start;
    padding: 16px;
}
.livia-preflight > header {
    display: grid;
    grid-template-columns: 36px 1fr;
    align-items: center;
    margin-bottom: 13px;
}
.livia-preflight > header > i {
    grid-row: 1 / 3;
    color: var(--livia-green);
    font-size: 26px;
}
.livia-preflight strong {
    font-size: 16px;
}
.livia-preflight small,
.livia-preflight p {
    color: var(--livia-muted);
    font-size: 12px;
}
.livia-preflight p {
    display: flex;
    gap: 7px;
    margin: 8px 0;
    line-height: 1.45;
}
.livia-preflight p.complete {
    color: var(--livia-green);
}
.livia-cockpit-stats {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    margin-top: 15px;
    border-top: 1px solid var(--livia-line);
}
.livia-cockpit-stats span {
    display: grid;
    gap: 2px;
    padding: 12px 5px 0;
    color: var(--livia-muted);
    font-size: 11px;
    text-align: center;
}
.livia-cockpit-stats strong {
    color: var(--livia-ink);
    font-size: 17px;
}
.livia-export-history {
    display: grid;
    gap: 6px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--livia-line);
}
.livia-export-history h4 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 2px;
    color: var(--livia-ink);
    font-size: 13px;
}
.livia-export-history p {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 8px;
    margin: 0;
    padding: 7px 8px;
    border-left: 3px solid #77b6cd;
    color: var(--livia-muted);
    background: #f1f8fb;
    font-size: 11px;
    line-height: 1.35;
}
.livia-export-history p strong {
    color: var(--livia-blue-dark);
    font-size: 11px;
}
.livia-export-history p span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.livia-export-history p.empty {
    display: block;
    border-left-color: #c9d9e1;
    background: #f7fafb;
}
.livia-matrix-wrap {
    margin-top: 14px;
    overflow: auto;
    border: 1px solid var(--livia-line);
    background: #fff;
}
.livia-matrix-wrap table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.livia-matrix-wrap th,
.livia-matrix-wrap td {
    min-width: 120px;
    padding: 10px;
    border-right: 1px solid #e4edf2;
    border-bottom: 1px solid #e4edf2;
    text-align: left;
    vertical-align: top;
}
.livia-matrix-wrap th {
    position: sticky;
    top: 0;
    color: #4d6675;
    background: #eaf4f9;
    font-size: 11px;
    text-transform: uppercase;
}
.livia-matrix-wrap tr.active {
    background: #e8f6fb;
}
.livia-relations,
.livia-tasks,
.livia-notes,
.livia-writing {
    padding: 18px;
}
.livia-relation-form {
    display: grid;
    grid-template-columns: minmax(190px,1.2fr) minmax(150px,.7fr) minmax(200px,1fr) auto;
    align-items: end;
    gap: 10px;
    margin-top: 15px;
    padding: 13px;
    background: #edf7fc;
}
.livia-relation-form label {
    display: grid;
    gap: 5px;
}
.livia-relation-list {
    margin-top: 18px;
}
.livia-relation-list h4 {
    margin: 0 0 8px;
    color: var(--livia-muted);
    font-size: 12px;
    text-transform: uppercase;
}
.livia-relation-list > button,
.livia-relation-row {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: stretch;
    margin-bottom: 6px;
    border: 1px solid var(--livia-line);
    background: #fff;
}
.livia-relation-row > button:first-child,
.livia-relation-list > button {
    width: 100%;
    min-height: 58px;
    display: grid;
    grid-template-columns: 28px minmax(0,1fr) auto 18px;
    justify-content: stretch;
    border: 0;
    text-align: left;
}
.livia-relation-row span,
.livia-relation-list button span {
    min-width: 0;
    display: grid;
    gap: 3px;
}
.livia-relation-row strong,
.livia-relation-list strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.livia-relation-row small,
.livia-relation-list small,
.livia-relation-list em {
    color: var(--livia-muted);
    font-size: 11px;
    font-style: normal;
}
.livia-relation-row .danger {
    border: 0;
    border-left: 1px solid var(--livia-line);
}
.livia-note-grid,
.livia-writing-grid {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(310px,.75fr);
    gap: 14px;
    margin-top: 15px;
}
.livia-note-grid > div,
.livia-section-list {
    padding: 13px;
}
.livia-note-grid article,
.livia-section-list article {
    position: relative;
    padding: 14px 42px 14px 15px;
    border-bottom: 1px solid var(--livia-line);
}
.livia-note-grid article:last-child,
.livia-section-list article:last-child {
    border-bottom: 0;
}
.livia-note-grid article > span,
.livia-section-list article > span {
    color: var(--livia-cyan);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
.livia-note-grid h4,
.livia-section-list h4 {
    margin: 5px 0 8px;
    font-size: 16px;
}
.livia-note-grid p,
.livia-section-list div,
.livia-note-grid blockquote {
    font-size: 14px;
    line-height: 1.6;
}
.livia-note-grid blockquote {
    margin: 9px 0;
    padding: 11px 13px;
    border-left: 4px solid var(--livia-cyan);
    background: #eef7fb;
}
.livia-note-grid article > button,
.livia-section-list article > button {
    position: absolute;
    top: 12px;
    right: 9px;
    width: 30px;
    height: 30px;
    border: 1px solid var(--livia-line);
    color: #9c302d;
    background: #fff;
}
.livia-mini-form {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 15px;
}
.livia-mini-form h4 {
    margin: 0;
    font-size: 17px;
}
.livia-citation-line {
    margin-top: 14px;
    padding: 13px 15px;
    border-left: 4px solid var(--livia-cyan);
    background: #eaf5fa;
    font-family: Georgia,serif;
    font-size: 13px;
    line-height: 1.55;
}
.livia-tasks .reference-task-list {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}
.livia-tasks .reference-task-list > * {
    border: 1px solid var(--livia-line);
    background: #fff;
}
.livia-reader-head {
    min-height: 98px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 17px;
    border-bottom: 1px solid var(--livia-line);
    background: #eaf5fb;
}
.livia-reader-head h2 {
    margin: 3px 0 0;
    font-size: 19px;
    line-height: 1.25;
}
.livia-reader-head a {
    min-width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #8fc4db;
    color: var(--livia-blue-dark);
    background: #fff;
    font-size: 17px;
    text-decoration: none;
}
.livia-reader-tabs {
    min-height: 46px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid var(--livia-line);
    background: #fff;
}
.livia-reader-tabs button {
    border: 0;
    border-bottom: 3px solid transparent;
    color: var(--livia-muted);
    background: #fff;
    font-size: 13px;
    font-weight: 850;
}
.livia-reader-tabs button.active {
    border-bottom-color: var(--livia-cyan);
    color: #fff;
    background: var(--livia-blue);
}
.livia-reader-body {
    min-height: 0;
    flex: 1;
    overflow: auto;
    background: #dfe9ee;
}
.livia-reader-body iframe {
    width: 100%;
    height: 100%;
    min-height: 700px;
    border: 0;
    background: #fff;
}
.livia-fulltext {
    min-height: 100%;
    margin: 12px;
    padding: 23px;
    background: #fff;
}
.livia-fulltext h3 {
    margin: 0 0 18px;
    font-size: 20px;
    line-height: 1.35;
}
.livia-fulltext p {
    font-family: Georgia,serif;
    font-size: 15px;
    line-height: 1.75;
}
.livia-reader-empty {
    min-height: 360px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 9px;
    color: var(--livia-muted);
    text-align: center;
}
.livia-reader-empty i {
    color: #91b7c8;
    font-size: 35px;
}
.livia-reader-empty span {
    max-width: 280px;
    font-size: 13px;
    line-height: 1.5;
}
.livia-empty-note {
    margin: 12px 0;
    color: var(--livia-muted);
    font-size: 13px;
}
.livia-empty .app-empty-actions {
    display: flex;
    gap: 8px;
}

@media screen and (max-width: 1500px) {
    .apps-shell[data-app="literature"] .app-workspace {
        grid-template-columns: 270px minmax(610px,1fr) 350px;
    }
    .livia-project-head > div:last-child span { min-width: 74px; padding: 0 10px; }
    .livia-tabs button { padding: 0 10px; font-size: 12px; }
    .livia-document-head { grid-template-columns: minmax(0,1fr) auto; }
    .livia-document-actions { grid-column: 1 / -1; justify-content: flex-start; }
}
@media screen and (max-width: 1180px) {
    .apps-shell[data-app="literature"] .app-workspace {
        grid-template-columns: 245px minmax(560px,1fr) 315px;
    }
    .livia-project-head > div:last-child { display: none; }
    .livia-project-toolbar button { padding: 0 8px; font-size: 11px; }
    .livia-dashboard,
    .livia-cockpit,
    .livia-note-grid,
    .livia-writing-grid { grid-template-columns: 1fr; }
    .livia-relation-form { grid-template-columns: 1fr 1fr; }
}
@media screen and (max-width: 900px) {
    .apps-shell[data-app="literature"] .app-workspace {
        height: auto;
        min-height: calc(100dvh - 114px);
        grid-template-columns: 1fr;
        overflow: visible;
    }
    .apps-shell[data-app="literature"] .app-project-rail,
    .apps-shell[data-app="literature"] .app-canvas,
    .apps-shell[data-app="literature"] .app-inspector { max-height: none; border: 0; }
    .apps-shell[data-app="literature"] .app-project-rail { max-height: 430px; }
    .apps-shell[data-app="literature"] .app-inspector { min-height: 620px; }
    .livia-project-head,
    .livia-document-head { grid-template-columns: 1fr; align-items: start; }
    .livia-project-head { display: grid; }
    .livia-source-badges { justify-content: flex-start; }
    .livia-form { grid-template-columns: 1fr; }
    .livia-form label.wide,
    .livia-form > header { grid-column: auto; }
}

/* Florence 1.25: institution and revocable project hotlink sharing. */
.research-app-page .app-hotlink-scope span {
    border-left: 4px solid var(--app-blue);
}
.research-app-page .app-hotlink-scope input:checked + span {
    border-color: var(--app-blue);
    background: #edf3f9;
}
.research-app-page .app-hotlink-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px;
    margin: -3px 24px 18px;
    padding: 14px;
    border: 1px solid var(--app-line);
    border-left: 4px solid var(--app-blue);
    background: #f7fafc;
}
.research-app-page .app-hotlink-panel[hidden] {
    display: none;
}
.research-app-page .app-hotlink-panel > label {
    min-width: 0;
    display: grid;
    gap: 6px;
    color: #52666b;
    font-size: 12px;
    font-weight: 850;
}
.research-app-page .app-hotlink-panel > label > span {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
}
.research-app-page .app-hotlink-panel input {
    min-width: 0;
    height: 42px;
    overflow: hidden;
    padding: 0 11px;
    border-right: 0;
    color: #264b6d;
    background: #fff;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.research-app-page .app-hotlink-panel input.pending {
    color: var(--app-muted);
    font-style: italic;
}
.research-app-page .app-hotlink-panel > label button {
    border: 1px solid var(--app-line);
    color: #fff;
    background: var(--app-blue);
    cursor: pointer;
}
.research-app-page .app-hotlink-panel > label button:disabled {
    color: #718085;
    background: #e5ebec;
    cursor: not-allowed;
}
.research-app-page .app-hotlink-panel > .secondary-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    border: 1px solid var(--app-line);
    color: #294f78;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}
@media screen and (max-width: 620px) {
    .research-app-page .app-hotlink-panel {
        grid-template-columns: 1fr;
    }
    .research-app-page .app-hotlink-panel > .secondary-button {
        justify-content: center;
    }
}

/* Florence 1.24.1: light Lato navigation for the scientific analysis space. */
.research-app-page .qda-analysis-tabs button {
    color: #30484c;
    font-family: Lato, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    font-weight: 400;
}
.research-app-page .qda-analysis-tabs button i {
    color: #527075;
    font-size: 13px;
}
.research-app-page .qda-analysis-tabs button.active,
.research-app-page .qda-analysis-tabs button:hover,
.research-app-page .qda-analysis-tabs button:focus-visible {
    color: var(--cadet-deep);
    font-weight: 400;
}
.research-app-page .qda-analysis-tabs button.active i,
.research-app-page .qda-analysis-tabs button:hover i,
.research-app-page .qda-analysis-tabs button:focus-visible i {
    color: var(--cadet-deep);
}

/* Florence 1.24: scientific QDA cockpit. */
.qda-science-tool,
.qda-summary-tool {
    min-height: 0;
    flex: 1;
    overflow: auto;
    padding: 24px;
    color: #1c3034;
    background: #f7f9f9;
    font: 400 15px/1.5 Lato, ui-sans-serif, sans-serif;
}
.qda-science-tool > header,
.qda-summary-tool > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 20px;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--app-line);
}
.qda-science-tool h2,
.qda-summary-tool h2 { margin: 2px 0 5px; font-size: 25px; line-height: 1.2; }
.qda-science-tool h3,
.qda-summary-tool h3 { margin: 0; font-size: 17px; }
.qda-science-tool > header p:last-child,
.qda-summary-tool > header p:last-child { max-width: 820px; margin: 0; color: #5b6e72; font-size: 14px; }
.qda-method-badge {
    min-width: max-content;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #b9d2d3;
    border-radius: 5px;
    color: #285c61;
    background: #edf6f6;
    font-size: 13px;
}
.qda-method-badge > i { font-size: 19px; }
.qda-method-badge span { display: grid; }
.qda-method-badge strong { font-size: 17px; }
.qda-science-empty {
    min-height: 260px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    padding: 28px;
    border: 1px dashed #a9c5c7;
    color: #536a6e;
    background: #fff;
    text-align: center;
}
.qda-science-empty > i { color: var(--cadet-dark); font-size: 34px; }
.qda-science-empty > strong { color: #20373a; font-size: 18px; }
.qda-science-empty > span { max-width: 560px; }

.qda-retrieval-builder { display: grid; gap: 9px; }
.qda-retrieval-row {
    display: grid;
    grid-template-columns: 120px 210px repeat(3, minmax(150px, 1fr)) 40px;
    align-items: end;
    gap: 9px;
    padding: 12px;
    border: 1px solid #c9d9da;
    border-left: 4px solid var(--cadet-dark);
    background: #fff;
}
.qda-retrieval-row label,
.qda-retrieval-actions label,
.qda-variable-table th span,
.qda-intercoder-controls label { display: grid; gap: 5px; color: #586c70; font-size: 12px; font-weight: 800; }
.qda-retrieval-row select,
.qda-retrieval-row input,
.qda-retrieval-actions select,
.qda-retrieval-actions input,
.qda-intercoder-controls select,
.qda-consensus-list select,
.qda-consensus-list input {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid #b8cdcf;
    border-radius: 3px;
    color: #1c3034;
    background: #fff;
    font: 600 14px/1.2 Lato, sans-serif;
}
.qda-retrieval-row > button {
    width: 40px;
    height: 42px;
    border: 1px solid #d8b8b5;
    color: #9d3e39;
    background: #fff;
    cursor: pointer;
}
.qda-add-row {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px dashed #85afb1;
    color: #285c61;
    background: #f1f7f7;
    font: 800 14px Lato, sans-serif;
    cursor: pointer;
}
.qda-retrieval-actions {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto minmax(220px, .7fr);
    align-items: end;
    gap: 10px;
    margin: 15px 0 20px;
    padding: 14px;
    border: 1px solid var(--app-line);
    background: #eef4f4;
}
.qda-retrieval-results { border: 1px solid var(--app-line); background: #fff; }
.qda-retrieval-results > header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 15px;
    border-bottom: 1px solid var(--app-line);
    background: #eaf3f3;
}
.qda-retrieval-results > article { border-bottom: 1px solid var(--app-line); }
.qda-retrieval-results > article > button {
    width: 100%;
    min-height: 62px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto 22px;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    border: 0;
    color: #20373a;
    background: #fff;
    text-align: left;
    cursor: pointer;
}
.qda-retrieval-results > article > button:hover { background: #f0f7f7; }
.qda-retrieval-results > article > button > i:first-child { color: var(--cadet-dark); font-size: 21px; }
.qda-retrieval-results > article > button span { min-width: 0; display: grid; }
.qda-retrieval-results > article > button strong { font-size: 15px; }
.qda-retrieval-results > article > button small { color: #667a7e; font-size: 12px; }
.qda-retrieval-results > article > button em { color: #285c61; font-size: 12px; font-style: normal; font-weight: 800; }
.qda-retrieval-results > article > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1px; background: var(--app-line); }
.qda-retrieval-results > article > div > button {
    min-width: 0;
    display: grid;
    grid-template-columns: 7px 110px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border: 0;
    background: #fafcfc;
    text-align: left;
    cursor: pointer;
}
.qda-retrieval-results > article > div i { width: 7px; height: 26px; }
.qda-retrieval-results > article > div span { overflow: hidden; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.qda-retrieval-results q { overflow: hidden; color: #576b6f; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }

.qda-variable-table-wrap,
.summary-grid-wrap,
.mixed-stats-table-wrap { overflow: auto; border: 1px solid var(--app-line); background: #fff; }
.qda-variable-table { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; }
.qda-variable-table th,
.qda-variable-table td { min-width: 180px; padding: 9px; border-right: 1px solid var(--app-line); border-bottom: 1px solid var(--app-line); }
.qda-variable-table thead th { position: sticky; top: 0; z-index: 2; background: #eaf3f3; }
.qda-variable-table th:first-child { position: sticky; left: 0; z-index: 1; min-width: 260px; background: #f4f7f7; }
.qda-variable-table thead th:first-child { z-index: 3; }
.qda-variable-table th span { display: inline-grid; color: #1f393d; font-size: 13px; }
.qda-variable-table th small { color: #667a7e; font-size: 11px; }
.qda-variable-table th > button:not([data-analysis-document]) { float: right; width: 30px; height: 30px; border: 0; color: #365f63; background: transparent; cursor: pointer; }
.qda-variable-table th [data-analysis-document] { width: 100%; border: 0; color: #214e53; background: transparent; text-align: left; font: 800 14px Lato, sans-serif; cursor: pointer; }
.qda-variable-table td input,
.qda-variable-table td select { width: 100%; min-height: 39px; padding: 7px 9px; border: 1px solid #c1d2d3; font: 500 14px Lato, sans-serif; }
.qda-group-comparison { margin-top: 18px; }
.qda-group-comparison > header { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 10px; }
.qda-group-comparison > header label { display: grid; gap: 4px; color: #596d71; font-size: 12px; font-weight: 800; }
.qda-group-comparison select { min-width: 220px; min-height: 40px; padding: 7px 9px; border: 1px solid #b8cdcf; background: #fff; font-size: 14px; }
.qda-group-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.qda-group-grid article { border: 1px solid var(--app-line); background: #fff; }
.qda-group-grid article > header { display: flex; justify-content: space-between; padding: 11px 12px; border-bottom: 1px solid var(--app-line); background: #f0f6f6; }
.qda-group-grid article > div { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid #edf1f1; }
.qda-group-grid article > div i { width: 8px; height: 22px; }
.qda-group-grid article > div span { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }

.summary-grid { font-size: 13px; }
.summary-grid th,
.summary-grid td { width: 270px; min-width: 270px; height: 138px; padding: 11px; }
.summary-grid th:first-child { width: 235px; min-width: 235px; }
.summary-grid thead th { height: 58px; font-size: 13px; }
.summary-grid th [data-analysis-document] { border: 0; color: #214e53; background: transparent; text-align: left; font: 800 14px Lato, sans-serif; cursor: pointer; }
.summary-grid td.has-summary { background: #f2f8f8; }
.summary-grid td strong { font-size: 13px; }
.summary-grid td span { color: #40565a; font-size: 13px; line-height: 1.5; -webkit-line-clamp: 4; }
.summary-grid td small { color: #577276; font-size: 11px; }

.qda-saturation-signal { min-width: 270px; display: flex; gap: 10px; padding: 11px 13px; border: 1px solid #dfc381; background: #fff7e5; }
.qda-saturation-signal.stable { border-color: #91c5aa; background: #eaf7ef; }
.qda-saturation-signal > i { font-size: 24px; }
.qda-saturation-signal > span { display: grid; }
.qda-saturation-signal small { color: #5c6f72; font-size: 11px; }
.qda-saturation-chart { min-height: 280px; display: flex; align-items: end; gap: 4px; padding: 20px 15px 10px; border: 1px solid var(--app-line); background: #fff; }
.qda-saturation-chart > button { min-width: 56px; flex: 1; display: grid; gap: 5px; border: 0; background: transparent; text-align: center; cursor: pointer; }
.qda-saturation-chart > button > span { height: 180px; display: flex; align-items: end; justify-content: center; position: relative; }
.qda-saturation-chart > button > span i { width: min(36px, 70%); min-height: 4px; background: #5f9ea0; }
.qda-saturation-chart > button > span b { position: absolute; top: 2px; font-size: 12px; }
.qda-saturation-chart > button strong { font-size: 12px; }
.qda-saturation-chart > button small { overflow: hidden; color: #687b7f; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.qda-saturation-table { margin-top: 12px; border: 1px solid var(--app-line); background: #fff; }
.qda-saturation-table > header,
.qda-saturation-table > button { display: grid; grid-template-columns: minmax(240px, 1.2fr) 110px 110px minmax(250px, 1fr); align-items: center; gap: 10px; padding: 10px 13px; }
.qda-saturation-table > header { color: #536b6f; background: #eaf3f3; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.qda-saturation-table > button { width: 100%; border: 0; border-top: 1px solid var(--app-line); background: #fff; text-align: left; cursor: pointer; }
.qda-saturation-table > button:hover { background: #f4f9f9; }
.qda-saturation-table > button > span:first-child { display: grid; }
.qda-saturation-table small { color: #697b7f; }

.qda-intercoder-controls { display: grid; grid-template-columns: minmax(180px, 1fr) 24px minmax(180px, 1fr) 180px 180px; align-items: end; gap: 12px; padding: 15px; border: 1px solid var(--app-line); background: #edf5f5; }
.qda-intercoder-controls > i { align-self: center; color: var(--cadet-dark); font-size: 19px; text-align: center; }
.qda-intercoder-controls > div { display: grid; padding-left: 12px; border-left: 3px solid #5f9ea0; }
.qda-intercoder-controls > div strong { font-size: 22px; }
.qda-intercoder-controls > div span { color: #5e7276; font-size: 11px; }
.qda-consensus-list { margin-top: 14px; border: 1px solid var(--app-line); background: #fff; }
.qda-consensus-list > header { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; background: #eef4f4; }
.qda-consensus-list article { display: grid; grid-template-columns: 8px minmax(220px, 1fr) 180px minmax(220px, 1fr) auto; align-items: center; gap: 10px; padding: 11px 13px; border-top: 1px solid var(--app-line); }
.qda-consensus-list article > i { width: 8px; height: 36px; }
.qda-consensus-list article > div { display: grid; }
.qda-consensus-list article span,
.qda-consensus-list article small { color: #617579; font-size: 11px; }
.qda-consensus-list article > button { min-height: 42px; padding: 0 13px; border: 1px solid var(--cadet-deep); color: #fff; background: var(--cadet-deep); font-weight: 800; cursor: pointer; }

.qda-report-progress { min-width: 250px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2px 10px; padding: 10px 13px; border: 1px solid #b8d0d2; background: #fff; }
.qda-report-progress strong { grid-row: 1 / 3; font-size: 25px; }
.qda-report-progress span { color: #596e72; font-size: 12px; }
.qda-report-progress i { height: 6px; overflow: hidden; background: #dfe9e9; }
.qda-report-progress i b { display: block; height: 100%; background: #438c70; }
.qda-report-switch { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)) auto; gap: 8px; margin-bottom: 12px; }
.qda-report-switch button,
.qda-report-switch a { min-height: 58px; display: grid; align-content: center; gap: 2px; padding: 9px 13px; border: 1px solid #bfd0d2; color: #254f54; background: #fff; text-align: left; text-decoration: none; cursor: pointer; }
.qda-report-switch button.active { border-color: var(--cadet-dark); box-shadow: inset 4px 0 0 var(--cadet-dark); background: #eaf4f4; }
.qda-report-switch span { color: #607478; font-size: 11px; }
.qda-report-switch a { display: flex; align-items: center; gap: 8px; font-weight: 800; }
.qda-report-list { display: grid; gap: 12px; }
.qda-report-list > section { border: 1px solid var(--app-line); background: #fff; }
.qda-report-list > section > header { display: flex; justify-content: space-between; padding: 11px 13px; background: #eaf3f3; }
.qda-report-list [data-report-item] { display: grid; grid-template-columns: 34px minmax(220px, 1fr) 160px minmax(260px, 1.4fr); align-items: center; gap: 10px; padding: 9px 12px; border-top: 1px solid #e6eded; }
.qda-report-list [data-report-item] > b { width: 29px; height: 29px; display: grid; place-items: center; color: #fff; background: #456f73; }
.qda-report-list select,
.qda-report-list input { min-height: 39px; padding: 7px 9px; border: 1px solid #bfd0d2; background: #fff; font-size: 13px; }
.qda-report-footer { position: sticky; bottom: 0; z-index: 4; display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; padding: 11px 13px; border: 1px solid #b9cdcf; background: #fff; box-shadow: 0 -5px 16px rgba(29, 54, 57, .08); }

.qda-mixed-layout { display: grid; grid-template-columns: repeat(2, minmax(240px, 1fr)) 310px; gap: 12px; }
.qda-mixed-layout > section,
.qda-mixed-layout > aside { border: 1px solid var(--app-line); background: #fff; }
.qda-mixed-layout > section h3,
.qda-mixed-layout > aside > p,
.qda-mixed-layout > aside > h3 { padding: 12px 13px; border-bottom: 1px solid var(--app-line); }
.qda-mixed-layout > section label { display: grid; grid-template-columns: 20px 9px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 45px; padding: 7px 12px; border-bottom: 1px solid #ebf0f0; cursor: pointer; }
.qda-mixed-layout > section label > i { width: 8px; height: 24px; }
.qda-mixed-layout > section label small { color: #65787c; font-size: 11px; }
.qda-mixed-layout > aside { padding-bottom: 12px; }
.qda-mixed-layout dl { margin: 0 12px 12px; border: 1px solid #d2dede; }
.qda-mixed-layout dl div { display: flex; justify-content: space-between; padding: 8px 10px; border-bottom: 1px solid #e4ebeb; }
.qda-mixed-layout dd { margin: 0; font-weight: 900; }
.qda-mixed-layout > aside > button,
.qda-mixed-layout > aside > a { margin: 6px 12px 0; }

.mixed-stats-data { height: 100%; display: flex; flex-direction: column; }
.mixed-stats-data > header { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 16px 18px; border-bottom: 1px solid var(--app-line); background: #eaf3f3; }
.mixed-stats-data > header h2 { margin: 2px 0; font-size: 22px; }
.mixed-stats-data > header p:last-child { margin: 0; color: #5c7074; }
.mixed-stats-data > header > a { min-height: 42px; display: flex; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid var(--cadet-deep); color: #fff; background: var(--cadet-deep); text-decoration: none; font-weight: 800; }
.mixed-stats-table-wrap { min-height: 0; flex: 1; border: 0; }
.mixed-stats-table th:first-child { min-width: 260px; }
.mixed-stats-table th > a { display: grid; grid-template-columns: 20px minmax(0, 1fr) 18px; align-items: center; gap: 7px; color: #214e53; text-decoration: none; }
.mixed-stats-table th > a span,
.mixed-stats-table thead th span { display: grid; }
.mixed-stats-table th small { color: #687b7f; font-size: 11px; }
.mixed-stats-table td { min-width: 180px; }
.mixed-stats-table td input { min-height: 38px; font-size: 13px; }
.mixed-source-link { display: flex; align-items: center; gap: 5px; margin-top: 5px; color: #285c61; font-size: 11px; font-weight: 800; text-decoration: none; }
.source-focus { outline: 4px solid #e5a536!important; outline-offset: 4px; animation: qda-source-pulse .8s ease-in-out 2; }
@keyframes qda-source-pulse { 50% { outline-color: #b64e47; } }

.qda-science-dialog { width: min(880px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 0; border-radius: 6px; overflow: hidden; }
.qda-science-dialog::backdrop { background: rgba(21, 38, 41, .56); }
.qda-science-dialog-shell { max-height: calc(100dvh - 24px); display: flex; flex-direction: column; background: #fff; }
.qda-science-dialog-shell > header { display: flex; justify-content: space-between; gap: 18px; padding: 19px 22px; border-bottom: 1px solid var(--app-line); background: #edf5f5; }
.qda-science-dialog-shell > header h2 { margin: 2px 0; font-size: 23px; }
.qda-science-dialog-shell > header p:last-child { margin: 0; color: #607377; }
.qda-science-dialog-shell > header button { width: 40px; height: 40px; border: 1px solid #b9ccce; background: #fff; cursor: pointer; }
.qda-science-dialog-body { min-height: 0; overflow: auto; padding: 20px 22px; }
.qda-science-dialog-body form { display: grid; gap: 15px; }
.qda-science-dialog-body form > label { display: grid; gap: 6px; color: #4d6569; font-size: 13px; font-weight: 800; }
.qda-science-dialog-body input,
.qda-science-dialog-body select,
.qda-science-dialog-body textarea { width: 100%; padding: 10px 11px; border: 1px solid #b9cdcf; font: 500 15px/1.45 Lato, sans-serif; }
.qda-science-dialog-body fieldset { display: grid; gap: 8px; margin: 0; padding: 12px; border: 1px solid var(--app-line); }
.qda-source-check { display: grid; grid-template-columns: 20px minmax(0, 1fr) 36px; align-items: start; gap: 9px; padding: 9px; border: 1px solid #d8e3e3; cursor: pointer; }
.qda-source-check span { display: grid; }
.qda-source-check q { font-size: 13px; }
.qda-source-check small { color: #687b7f; font-size: 11px; }
.qda-source-check button { width: 34px; height: 34px; border: 1px solid #b9cdcf; background: #fff; cursor: pointer; }
.qda-science-dialog-shell > footer { display: flex; justify-content: flex-end; gap: 8px; padding: 13px 22px; border-top: 1px solid var(--app-line); background: #f7f9f9; }

.qda-analysis-tabs button { min-width: 150px; font-size: 13px; }
.code-matrix-toolbar input { font-size: 13px; }
.code-matrix-toolbar button { font-size: 12px; }

@media screen and (max-width: 1180px) {
    .qda-retrieval-row { grid-template-columns: 110px 190px repeat(2, minmax(150px, 1fr)) 40px; }
    .qda-retrieval-row label:nth-last-of-type(1) { grid-column: 3 / 5; }
    .qda-intercoder-controls { grid-template-columns: 1fr 24px 1fr; }
    .qda-intercoder-controls > div { grid-row: 2; }
    .qda-consensus-list article { grid-template-columns: 8px minmax(200px, 1fr) 160px; }
    .qda-consensus-list article input { grid-column: 2 / 4; }
    .qda-consensus-list article > button { grid-column: 3; }
    .qda-mixed-layout { grid-template-columns: repeat(2, 1fr); }
    .qda-mixed-layout > aside { grid-column: 1 / -1; }
}
@media screen and (max-width: 760px) {
    .qda-science-tool,
    .qda-summary-tool { padding: 14px; }
    .qda-science-tool > header,
    .qda-summary-tool > header,
    .qda-group-comparison > header,
    .mixed-stats-data > header { display: grid; }
    .qda-method-badge,
    .qda-saturation-signal,
    .qda-report-progress { min-width: 0; }
    .qda-retrieval-row { grid-template-columns: 1fr 1fr 40px; }
    .qda-retrieval-row label { grid-column: auto!important; }
    .qda-retrieval-row label:nth-of-type(n+3) { grid-column: 1 / 3!important; }
    .qda-retrieval-actions { grid-template-columns: 1fr; }
    .qda-intercoder-controls,
    .qda-mixed-layout,
    .qda-report-switch { grid-template-columns: 1fr; }
    .qda-intercoder-controls > i { transform: rotate(90deg); }
    .qda-intercoder-controls > div,
    .qda-mixed-layout > aside { grid-row: auto; grid-column: auto; }
    .qda-consensus-list article { grid-template-columns: 8px minmax(0, 1fr); }
    .qda-consensus-list article select,
    .qda-consensus-list article input,
    .qda-consensus-list article > button { grid-column: 2; }
    .qda-report-list [data-report-item] { grid-template-columns: 34px minmax(0, 1fr); }
    .qda-report-list [data-report-item] select,
    .qda-report-list [data-report-item] input { grid-column: 2; }
    .qda-report-footer { position: static; display: grid; }
    .qda-saturation-table { overflow-x: auto; }
    .qda-saturation-table > header,
    .qda-saturation-table > button { min-width: 760px; }
}

/* Florence 1.23.4: compact QDA workbar and navigator quick actions. */
.apps-shell[data-app="qualitative"] .app-canvas,
.apps-shell[data-app="qualitative"] .qda-suite,
.apps-shell[data-app="qualitative"] .qda-suite > .app-body {
    min-height: 0;
    overflow: hidden;
}
.apps-shell[data-app="qualitative"] .qda-suite { height: 100%; }
.apps-shell[data-app="qualitative"] .qda-suite > .app-suite-head,
.apps-shell[data-app="qualitative"] .qda-suite > .app-statusline { flex: 0 0 auto; }
.apps-shell[data-app="qualitative"] .qda-suite > .app-body { flex: 1 1 auto; }
.apps-shell[data-app="qualitative"] .qda-reader {
    position: relative;
    min-height: 0;
    overflow: hidden;
}
.qda-workbar {
    position: relative;
    flex: 0 0 auto;
    z-index: 14;
    min-height: 52px;
    display: grid;
    grid-template-columns: auto minmax(160px, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-bottom: 1px solid var(--app-line);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 3px 12px rgba(25, 60, 63, .07);
}
.qda-workbar-tools,
.qda-reader-actions {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}
.qda-compact-command {
    min-width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0 8px;
    border: 1px solid var(--app-line);
    border-radius: 4px;
    color: var(--cadet-deep);
    background: #fff;
    font: 800 11px/1 Lato, ui-sans-serif, sans-serif;
    cursor: pointer;
}
.qda-compact-command:hover,
.qda-compact-command:focus-visible,
.qda-compact-command.primary {
    border-color: var(--cadet-deep);
    color: #fff;
    background: var(--cadet-deep);
    outline: 0;
}
.qda-compact-command:disabled { opacity: .42; cursor: not-allowed; }
.qda-compact-command i { font-size: 14px; }
.qda-workbar .app-icon-button { width: 34px; height: 34px; flex: 0 0 34px; }
.qda-workbar-document {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 5px;
}
.qda-workbar-document > span:last-child { min-width: 0; display: grid; }
.qda-workbar-document strong {
    overflow: hidden;
    color: #1b3033;
    font-size: 13px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.qda-workbar-document small { color: var(--app-muted); font-size: 11px; }
.qda-workbar-document.empty > i { color: var(--cadet-dark); font-size: 18px; }
.qda-code-quick-actions {
    min-width: 0;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 5px;
}
.research-app-page .qda-code-action .qda-code-quick,
.research-app-page .qda-code-action .qda-active-code-action {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}
.research-app-page .qda-code-action .qda-code-quick {
    border-color: #294f78;
    color: #fff;
    background: #294f78;
}
.research-app-page .qda-code-action .qda-code-quick:hover,
.research-app-page .qda-code-action .qda-code-quick:focus-visible {
    border-color: #183b61;
    background: #183b61;
    outline: 2px solid rgba(41, 79, 120, .2);
    outline-offset: 1px;
}
.research-app-page .qda-code-action .qda-active-code-action {
    min-width: 168px;
    border-color: color-mix(in srgb, var(--active-code-color) 76%, #183336);
    color: var(--active-code-ink);
    background: var(--active-code-color);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16);
}
.research-app-page .qda-code-action .qda-active-code-action:hover,
.research-app-page .qda-code-action .qda-active-code-action:focus-visible {
    filter: brightness(.91);
    outline: 2px solid color-mix(in srgb, var(--active-code-color) 38%, transparent);
    outline-offset: 1px;
}
.research-app-page .qda-code-action .qda-active-code-action:disabled {
    border-color: var(--app-line);
    color: #718286;
    background: #e7eded;
    box-shadow: none;
    cursor: not-allowed;
}
.research-app-page .qda-workbar .qda-original-badge {
    flex: 0 0 auto;
    margin: 0;
    padding: 5px 7px;
    font-size: 10px!important;
}
.research-app-page .qda-original-badge.format-pdf,
.format-pdf .app-project-document > i { color: #a53434; background: #f9e5e5; }
.research-app-page .qda-original-badge.format-word,
.format-word .app-project-document > i { color: #255b9b; background: #e3edf9; }
.research-app-page .qda-original-badge.format-richtext,
.format-richtext .app-project-document > i { color: #7b4c93; background: #f0e7f5; }
.research-app-page .qda-original-badge.format-text,
.format-text .app-project-document > i { color: #32696d; background: #e3efef; }
.format-csv .app-project-document > i { color: #26754d; background: #e3f2e9; }

.qda-navigator-entry {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    margin: 0 5px;
    border-left: 3px solid transparent;
}
.qda-navigator-entry:hover,
.qda-navigator-entry:focus-within,
.qda-navigator-entry.active { border-left-color: var(--cadet-dark); background: #eaf3f3; }
.qda-navigator-entry .app-project-document,
.qda-navigator-entry .qda-memo-item { margin: 0; border-left: 0!important; background: transparent!important; }
.qda-entry-tools {
    display: flex;
    align-items: center;
    gap: 1px;
    padding-right: 3px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(3px);
    transition: opacity .12s ease, transform .12s ease;
}
.qda-navigator-entry:hover .qda-entry-tools,
.qda-navigator-entry:focus-within .qda-entry-tools,
.qda-navigator-entry.active .qda-entry-tools {
    opacity: 1;
    visibility: visible;
    transform: none;
}
.qda-entry-tools button {
    width: 27px!important;
    height: 27px!important;
    min-width: 27px;
    display: grid!important;
    place-items: center;
    padding: 0!important;
    border: 0!important;
    color: #45666a;
    background: transparent!important;
    font-size: 12px;
}
.qda-entry-tools button:hover,
.qda-entry-tools button:focus-visible { color: #fff; background: var(--cadet-deep)!important; outline: 0; }
.qda-entry-tools button:last-child:hover { background: #a33d38!important; }
.qda-document-entry .app-project-document > i {
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    border-radius: 3px;
}
.qda-memo-entry.active .qda-memo-item { background: #e8f2f2!important; }

@media screen and (max-width: 1280px) {
    .qda-compact-command span { display: none; }
    .qda-compact-command { width: 34px; padding: 0; }
    .qda-workbar { grid-template-columns: auto minmax(120px, 1fr) auto; }
    .qda-code-action > #selectionHint { display: none; }
    .qda-code-quick-actions { width: 100%; }
}
@media (hover: none) {
    .qda-entry-tools { opacity: 1; visibility: visible; transform: none; }
}
@media screen and (max-width: 760px) {
    .qda-workbar { grid-template-columns: 1fr auto; }
    .qda-workbar-tools { overflow-x: auto; }
    .qda-workbar-document { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
    .qda-code-quick-actions { overflow-x: auto; justify-content: flex-start; }
    .research-app-page .qda-code-action .qda-code-quick span { display: none; }
    .research-app-page .qda-code-action .qda-active-code-action { min-width: 150px; }
}

@media print {
    .qda-workbar,
    .qda-entry-tools { display: none !important; }
}

/* Florence 1.23.3: final typography floor for dense project workspaces. */
.research-app-page .app-project-rail > header,
.research-app-page .app-project-search input,
.research-app-page .app-project-item strong,
.research-app-page .reference-title strong,
.research-app-page .inspector-section h3 {
    font-size: 14px;
}
.research-app-page .app-project-item small,
.research-app-page .app-project-rail > footer,
.research-app-page .app-suite-head p:last-child,
.research-app-page .app-suite-kpis small,
.research-app-page .reference-title small,
.research-app-page .reference-meta,
.research-app-page .source-id,
.research-app-page .inspector-head p,
.research-app-page .inspector-section dt,
.research-app-page .app-statusline,
.research-app-page .eyebrow {
    font-size: 12px;
}
.research-app-page .reference-groups h3,
.research-app-page .document-tree h3,
.research-app-page .code-tree h3,
.research-app-page .app-data-table th,
.research-app-page .inspector-actions button,
.research-app-page .inspector-section dd,
.research-app-page .citation-preview,
.research-app-page .quality-list span,
.research-app-page .quality-list b,
.research-app-page .quality-list small {
    font-size: 13px;
}
.research-app-page .quality-list span {
    min-height: 42px;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 10px;
}
.research-app-page .quality-list small {
    color: var(--app-muted);
}
.research-app-page .app-statusline {
    min-height: 38px;
    gap: 16px;
}
.research-app-page .app-suite-kpis span {
    min-width: 104px;
}
.research-app-page .app-data-table td {
    line-height: 1.45;
}

@media screen and (max-width: 760px) {
    .research-app-page .app-project-rail > header,
    .research-app-page .app-project-search input,
    .research-app-page .app-project-item strong,
    .research-app-page .reference-title strong,
    .research-app-page .inspector-section h3 {
        font-size: 14px;
    }
    .research-app-page .app-data-table,
    .research-app-page .app-data-table th,
    .research-app-page .inspector-actions button,
    .research-app-page .inspector-section dd {
        font-size: 13px;
    }
}

/* Florence 1.26.1: authoritative final cascade for the Research Suite. */
.research-app-page h1,
.research-app-page h2,
.research-app-page h3,
.research-app-page h4,
.research-app-page .app-project-item strong,
.research-app-page .reference-title strong,
.research-app-page .livia-project-head h1,
.research-app-page .livia-document-head h2 {
    color: var(--cadet-deep);
    font-weight: 600;
}
.research-app-page button,
.research-app-page .app-commandbar nav a,
.research-app-page .app-menu-trigger,
.research-app-page .livia-tabs button,
.research-app-page .livia-project-toolbar button,
.research-app-page .livia-document-actions button,
.research-app-page .livia-dashboard button,
.research-app-page .livia-action-menu summary,
.research-app-page .livia-action-menu-panel button,
.research-app-page .livia-form input,
.research-app-page .livia-form textarea,
.research-app-page .livia-form select {
    font-family: Lato, Arial, sans-serif;
    font-weight: 500;
}
.research-app-page .livia-fulltext,
.research-app-page .livia-fulltext p,
.research-app-page .livia-reader-content,
.research-app-page .livia-reader-content p {
    font-family: Lato, Arial, sans-serif;
    font-weight: 400;
}
.research-app-page .apps-shell[data-app="literature"] .app-workspace {
    grid-template-columns: 245px minmax(560px, 1fr) minmax(350px, 410px);
}
.research-app-page .livia-suite {
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.research-app-page .livia-project-head {
    min-height: 82px;
    display: grid;
    grid-template-columns: minmax(250px, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 12px 18px;
    background: #f7fafb;
}
.research-app-page .livia-project-head > .livia-project-controls {
    min-width: 0;
    align-self: center;
    display: flex!important;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}
.research-app-page .livia-project-head > .livia-project-controls .livia-project-stats {
    align-self: stretch;
    display: flex;
    border-left: 1px solid var(--app-line);
}
.research-app-page .livia-project-head > .livia-project-controls .livia-project-stats span {
    min-width: 70px;
    display: grid;
    gap: 1px;
    align-content: center;
    padding: 5px 12px;
    border: 0;
    border-right: 1px solid var(--app-line);
    background: transparent;
}
.research-app-page .livia-project-actions,
.research-app-page .livia-source-actions { display: flex; align-items: center; gap: 6px; }
.research-app-page .livia-action-menu { position: relative; }
.research-app-page .livia-action-menu > summary,
.research-app-page .livia-source-actions button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid var(--app-line-strong);
    border-radius: 2px;
    background: #fff;
    color: var(--cadet-deep);
    cursor: pointer;
}
.research-app-page .livia-action-menu-panel {
    z-index: 90;
    width: 224px;
    padding: 5px;
    border-color: var(--app-line-strong);
    box-shadow: 0 16px 34px rgba(23, 50, 53, .16);
}
.research-app-page .livia-project-toolbar { display: none!important; }
.research-app-page .livia-tabs {
    min-height: 43px;
    flex: 0 0 43px;
    order: 2;
    padding: 0 14px;
    border-top: 0;
    border-bottom: 1px solid var(--app-line-strong);
    background: #fff;
}
.research-app-page .livia-tabs button {
    min-height: 43px;
    padding: 0 12px;
    border-bottom-width: 3px;
    font-size: 13px;
}
.research-app-page .livia-tabs button.active {
    border-bottom-color: var(--cadet-dark);
    color: var(--cadet-deep);
    background: #eef6f6;
}
.research-app-page .livia-document-head {
    min-height: 72px;
    order: 3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 10px 18px;
    background: #fff;
}
.research-app-page .livia-document-head h2 {
    overflow: hidden;
    margin: 0;
    max-width: 900px;
    font-size: 19px;
    line-height: 1.24;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.research-app-page .livia-document-meta {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 5px;
    color: var(--app-muted);
    font-size: 12px;
}
.research-app-page .livia-document-head .livia-document-actions {
    grid-column: auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 6px;
}
.research-app-page .livia-workspace-panel,
.research-app-page .livia-pane { order: 4; }

@media screen and (max-width: 1480px) {
    .research-app-page .apps-shell[data-app="literature"] .app-workspace {
        grid-template-columns: 230px minmax(530px, 1fr) 350px;
    }
    .research-app-page .livia-project-head > .livia-project-controls .livia-project-stats span {
        min-width: 60px;
        padding-inline: 8px;
    }
}
@media screen and (max-width: 1180px) {
    .research-app-page .apps-shell[data-app="literature"] .app-workspace {
        grid-template-columns: 215px minmax(520px, 1fr);
    }
    .research-app-page .livia-reader { display: none; }
    .research-app-page .livia-project-head > .livia-project-controls .livia-project-stats { display: none; }
}
@media screen and (max-width: 900px) {
    .research-app-page .apps-shell[data-app="literature"] .app-workspace { grid-template-columns: 1fr; }
    .research-app-page .livia-project-head { display: grid; grid-template-columns: 1fr; align-items: start; }
    .research-app-page .livia-project-head > .livia-project-controls { width: 100%; justify-content: space-between; }
    .research-app-page .livia-document-head { grid-template-columns: minmax(0, 1fr) auto; }
}

/* Florence 1.26.2: one project head and action language across all Research Suite apps. */
.research-app-page .app-unified-head,
.research-app-page .livia-project-head {
    min-height: 82px;
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: minmax(250px, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--app-line-strong);
    background: #f7fafb;
}
.research-app-page .app-suite-copy,
.research-app-page .livia-project-copy { min-width: 0; }
.research-app-page .app-suite-copy .eyebrow,
.research-app-page .livia-project-copy .eyebrow {
    margin: 0 0 3px;
    color: var(--cadet-dark);
    font-size: 11px;
    font-weight: 700;
}
.research-app-page .app-suite-copy h1,
.research-app-page .livia-project-copy h1 {
    overflow: hidden;
    margin: 0 0 3px;
    color: var(--cadet-deep);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.research-app-page .app-suite-copy > p:last-child,
.research-app-page .livia-project-copy > p:last-child {
    overflow: hidden;
    margin: 0;
    color: var(--app-muted);
    font-size: 12px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.research-app-page .app-suite-head-controls,
.research-app-page .livia-project-controls {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}
.research-app-page .app-suite-head-controls .app-suite-kpis,
.research-app-page .livia-project-controls .livia-project-stats {
    align-self: stretch;
    display: flex;
    border-left: 1px solid var(--app-line);
}
.research-app-page .app-suite-head-controls .app-suite-kpis span,
.research-app-page .livia-project-controls .livia-project-stats span {
    min-width: 70px;
    display: grid;
    align-content: center;
    gap: 1px;
    padding: 5px 12px;
    border: 0;
    border-right: 1px solid var(--app-line);
    background: transparent;
}
.research-app-page .app-suite-head-controls .app-suite-kpis strong,
.research-app-page .livia-project-controls .livia-project-stats strong {
    color: #1b3033;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
}
.research-app-page .app-suite-head-controls .app-suite-kpis small,
.research-app-page .livia-project-controls .livia-project-stats small {
    color: var(--app-muted);
    font-size: 10px;
    line-height: 1.2;
}
.research-app-page .app-suite-head-actions,
.research-app-page .livia-source-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}
.research-app-page .suite-head-command,
.research-app-page .suite-action-menu > summary,
.research-app-page .livia-project-controls > .livia-action-menu > summary,
.research-app-page .livia-source-actions button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid var(--app-line-strong);
    border-radius: 2px;
    color: var(--cadet-deep);
    background: #fff;
    font-family: Lato, Arial, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}
.research-app-page .suite-head-command:hover,
.research-app-page .suite-action-menu > summary:hover,
.research-app-page .livia-project-controls > .livia-action-menu > summary:hover,
.research-app-page .livia-source-actions button:hover {
    border-color: var(--cadet-dark);
    background: #eef6f6;
}
.research-app-page .suite-head-command.primary,
.research-app-page .livia-source-actions button.primary {
    border-color: var(--cadet-deep);
    color: #fff;
    background: var(--cadet-deep);
}
.research-app-page .suite-head-command:disabled,
.research-app-page .suite-action-menu button:disabled { opacity: .45; cursor: not-allowed; }
.research-app-page .suite-action-menu { position: relative; }
.research-app-page .suite-action-menu .livia-action-menu-panel { right: 0; left: auto; }

/* The project actions now live in the common head; the QDA workbar only controls the document. */
.research-app-page .qda-workbar {
    min-height: 54px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 7px 16px;
}
.research-app-page .qda-workbar-tools { display: none !important; }
.research-app-page .qda-workbar-document {
    justify-content: flex-start;
    padding: 0;
}
.research-app-page .stats-tabs {
    min-height: 43px;
    flex: 0 0 43px;
    padding: 0 14px;
    border-bottom: 1px solid var(--app-line-strong);
    background: #fff;
}
.research-app-page .stats-tabs button {
    min-height: 43px;
    padding: 0 12px;
    border-bottom-width: 3px;
    color: #546a6e;
    font-family: Lato, Arial, sans-serif;
    font-size: 13px;
    font-weight: 500;
}
.research-app-page .stats-tabs button.active {
    border-bottom-color: var(--cadet-dark);
    color: var(--cadet-deep);
    background: #eef6f6;
}

/* Literature start: reveal the work already stored instead of showing counters alone. */
.research-app-page .livia-dashboard { align-items: start; }
.research-app-page .livia-workstate {
    display: flex;
    flex-direction: column;
    gap: 13px;
}
.research-app-page .livia-workstate-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.research-app-page .livia-workstate-head .eyebrow { margin: 0; }
.research-app-page .livia-workstate-head > span {
    padding: 4px 7px;
    color: #27685c;
    background: #e6f4ed;
    font-size: 11px;
    font-weight: 600;
}
.research-app-page .livia-workstate .livia-kpi-grid { margin-top: 0; }
.research-app-page .livia-data-overview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.research-app-page .livia-data-overview > section {
    min-width: 0;
    border: 1px solid var(--livia-line);
    background: #fff;
}
.research-app-page .livia-data-overview > section > header {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    color: var(--cadet-deep);
    background: #f2f7f7;
    font-size: 12px;
}
.research-app-page .livia-data-overview > section > header span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
}
.research-app-page .livia-data-overview > section > header b {
    color: var(--app-muted);
    font-size: 11px;
    font-weight: 600;
}
.research-app-page .livia-data-row {
    width: 100%;
    min-height: 48px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 0;
    border-top: 1px solid var(--livia-line);
    border-radius: 0;
    color: #324a4e;
    background: #fff;
    text-align: left;
}
.research-app-page .livia-data-row:hover { background: #f3f9f9; }
.research-app-page .livia-data-row > i:first-child { color: #788b8f; font-size: 14px; }
.research-app-page .livia-data-row.filled > i:first-child { color: #2f876e; }
.research-app-page .livia-data-row > span {
    min-width: 0;
    display: grid;
    gap: 2px;
}
.research-app-page .livia-data-row small {
    color: var(--app-muted);
    font-size: 10px;
}
.research-app-page .livia-data-row strong {
    overflow: hidden;
    color: #20373a;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.research-app-page .livia-data-row.empty strong { color: #8a999c; }
.research-app-page .livia-data-row > i:last-child { color: #8a999c; font-size: 10px; }
.research-app-page .livia-workstate-settings {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--livia-line);
    border-left: 1px solid var(--livia-line);
}
.research-app-page .livia-workstate-settings > span {
    min-width: 0;
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border-right: 1px solid var(--livia-line);
    border-bottom: 1px solid var(--livia-line);
}
.research-app-page .livia-workstate-settings small { color: var(--app-muted); font-size: 10px; }
.research-app-page .livia-workstate-settings strong {
    overflow: hidden;
    color: var(--cadet-deep);
    font-size: 12px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media screen and (max-width: 1380px) {
    .research-app-page .app-suite-head-controls .app-suite-kpis span { min-width: 60px; padding-inline: 8px; }
    .research-app-page .app-suite-head-actions { gap: 4px; }
    .research-app-page .suite-head-command,
    .research-app-page .suite-action-menu > summary { padding-inline: 9px; }
}
@media screen and (max-width: 1120px) {
    .research-app-page .app-unified-head { grid-template-columns: 1fr; gap: 9px; }
    .research-app-page .app-suite-head-controls { width: 100%; justify-content: space-between; }
    .research-app-page .app-suite-head-controls .app-suite-kpis { min-height: 48px; }
}
@media screen and (max-width: 760px) {
    .research-app-page .app-unified-head,
    .research-app-page .livia-project-head { grid-template-columns: 1fr; }
    .research-app-page .app-suite-head-controls,
    .research-app-page .livia-project-controls { width: 100%; overflow-x: auto; justify-content: flex-start; }
    .research-app-page .app-suite-head-controls .app-suite-kpis,
    .research-app-page .livia-project-controls .livia-project-stats { display: none; }
    .research-app-page .livia-data-overview { grid-template-columns: 1fr; }
    .research-app-page .livia-workstate-settings { grid-template-columns: 1fr; }
}

/* Florence 1.26.3: readable navigation and shared imported sources. */
.research-app-page .app-menu-trigger {
    font-size: 15px;
    font-weight: 500;
}
.research-app-page .app-menu-trigger i { font-size: 12px; }
.research-app-page .app-menu-panel { width: min(390px, calc(100vw - 24px)); }
.research-app-page .app-menu-panel > button {
    min-height: 62px;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 11px 13px;
}
.research-app-page .app-menu-panel > button > i {
    width: 36px;
    height: 36px;
    font-size: 18px;
}
.research-app-page .app-menu-panel > button > span { gap: 3px; }
.research-app-page .app-menu-panel strong {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
}
.research-app-page .app-menu-panel small {
    font-size: 13px;
    line-height: 1.35;
}
.research-app-page .app-switcher-menu .app-menu-panel > a strong { font-size: 15px; }
.research-app-page .app-switcher-menu .app-menu-panel > a small { font-size: 13px; }
.research-app-page .livia-action-menu-panel { width: 280px; }
.research-app-page .livia-action-menu-panel button {
    min-height: 46px;
    font-size: 14px;
    font-weight: 500;
}
.apps-shell[data-app="literature"] .livia-source-card.imported-text { border-left-color: #4b75a8; }
.research-app-page .livia-source-meta .imported {
    color: #2f5482;
    background: #e6eef8;
}
.research-app-page .livia-document-actions .twins,
.research-app-page .qda-compact-command.twins {
    color: #fff;
    border-color: #385f83;
    background: #385f83;
}

/* Florence 1.26.4: adjustable reading workspace and calm, scannable tasks. */
@media screen and (min-width: 1181px) {
    .research-app-page .apps-shell[data-app="literature"] .app-workspace {
        grid-template-columns: 245px minmax(480px, 1fr) minmax(360px, var(--literature-reader-width, 520px));
    }
}
.research-app-page .literature-column-tools {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px;
    border: 1px solid var(--app-line-strong);
    border-radius: 3px;
    background: #f5f9f9;
}
.research-app-page .literature-column-tools button {
    width: 27px;
    min-width: 27px;
    height: 27px;
    min-height: 27px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 2px;
    color: #45666b;
    background: transparent;
    font-size: 12px;
}
.research-app-page .literature-column-tools button:hover {
    color: #fff;
    background: var(--cadet-dark);
}
.research-app-page .livia-reader-head-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}
.research-app-page .livia-reader-head-actions > a { flex: 0 0 auto; }
.research-app-page .livia-tasks {
    padding: 18px;
    background: #f8fbfb;
}
.research-app-page .livia-tasks > header {
    min-height: 58px;
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--livia-line);
}
.research-app-page .livia-tasks > header h3 { margin: 3px 0 2px; }
.research-app-page .livia-tasks > header small {
    color: var(--app-muted);
    font-size: 12px;
}
.research-app-page .livia-tasks .reference-task-list {
    gap: 10px;
    margin-top: 14px;
}
.research-app-page .livia-tasks .reference-task-list > * { border: 0; }
.research-app-page .reference-task-row {
    --task-accent: #4d8f79;
    min-height: 72px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 11px 12px 11px 10px;
    border: 1px solid var(--livia-line)!important;
    border-left: 5px solid var(--task-accent)!important;
    border-radius: 4px;
    background: #fff;
}
.research-app-page .reference-task-row.priority-hoch { --task-accent: #d49a24; }
.research-app-page .reference-task-row.priority-kritisch { --task-accent: #c44843; }
.research-app-page .reference-task-row.done { --task-accent: #8ba09c; opacity: .72; }
.research-app-page .reference-task-row .task-state-button {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--livia-line);
    border-radius: 50%;
    color: var(--task-accent);
    background: #fff;
    font-size: 17px;
}
.research-app-page .reference-task-row .task-state-button:hover {
    border-color: var(--task-accent);
    background: #f3f8f7;
}
.research-app-page .reference-task-copy { min-width: 0; display: grid; gap: 7px; }
.research-app-page .reference-task-copy > strong {
    overflow: hidden;
    color: var(--cadet-deep);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.research-app-page .reference-task-row.done .reference-task-copy > strong { text-decoration: line-through; }
.research-app-page .reference-task-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 12px;
    color: #657b7f;
    font-size: 12px;
}
.research-app-page .reference-task-meta > span { display: inline-flex; align-items: center; gap: 5px; }
.research-app-page .reference-task-meta .reference-task-priority {
    color: var(--task-accent);
    font-weight: 600;
}
.research-app-page .reference-task-meta .completed { color: #4d7e70; }
.research-app-page .reference-task-tools { display: inline-flex; gap: 5px; }
.research-app-page .reference-task-tools button {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--livia-line);
    border-radius: 3px;
    color: #48656a;
    background: #fff;
}
.research-app-page .reference-task-tools button:hover { border-color: #7fa9ad; background: #edf6f6; }
.research-app-page .reference-task-tools button:last-child:hover { border-color: #d99a97; color: #a63330; background: #fff1f0; }
.research-app-page .reference-task-empty {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #66807c;
    background: #fff;
}
.research-app-page .reference-task-empty > i { color: #4d8f79; font-size: 25px; }
.research-app-page .reference-task-empty > span { display: grid; gap: 2px; }
.research-app-page .reference-task-empty strong { color: var(--cadet-deep); font-size: 14px; font-weight: 600; }
.research-app-page .reference-task-empty small { font-size: 12px; }
@media screen and (max-width: 1180px) {
    .research-app-page .literature-column-tools { display: none; }
}

@media screen and (min-width: 1181px) and (max-width: 1400px) {
    .research-app-page .apps-shell[data-app="literature"] .livia-project-head {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: 8px;
    }
    .research-app-page .apps-shell[data-app="literature"] .livia-project-controls {
        width: 100%;
        justify-content: flex-start;
    }
    .research-app-page .apps-shell[data-app="literature"] .livia-project-stats {
        display: none;
    }
}
