/* Main 2.0 workspace, adapted from the supplied HTML. Existing theme tokens and
   Library/editor modules stay in notebook.css; this module owns the new shell. */
.vnb-app.vnb-workspace-v2{width:100%;max-width:none!important;margin:0;min-height:100dvh;--vnb-ui-font:14px;--vnb-panel-gap:12px;--vnb-card-pad:16px;font-size:var(--vnb-ui-font);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.vnb-app.vnb-workspace-v2 .vnb-workspace{min-height:100dvh;padding:0;border:0;border-radius:0;background:var(--vnb-workspace);box-shadow:none;display:flex;flex-direction:column}
.vnb-app.vnb-workspace-v2 .vnb-device-head{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#1c2e24;color:#f4f6eb;padding:15px 18px;border:0;border-radius:0;min-height:64px}
.vnb-app.vnb-workspace-v2 .vnb-device-brand{color:inherit;font-size:14px;letter-spacing:.08em}
.vnb-app.vnb-workspace-v2 .vnb-device-brand small{display:block;color:#b5c1a5;font-size:10px;margin-top:3px}
.vnb-app.vnb-workspace-v2 .vnb-device-led{font-size:11px;color:#8be1ad;white-space:nowrap}
.vnb-app.vnb-workspace-v2 .vnb-top{display:none}
.vnb-app.vnb-workspace-v2 .vnb-tabs{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:8px 12px;border-bottom:1px solid var(--vnb-stroke);background:var(--vnb-panel);position:relative;z-index:1}
.vnb-app.vnb-workspace-v2 .vnb-tabs button{flex:1 1 auto;min-width:0;padding:9px 8px;min-height:40px;border-radius:7px;font-size:13px;white-space:normal;line-height:1.2}
.vnb-app.vnb-workspace-v2 .vnb-panel{padding:var(--vnb-panel-gap);min-width:0}
.vnb-app.vnb-workspace-v2 .vnb-panel[data-vnb-panel="recorder"]{flex:1;display:flex;flex-direction:column;gap:10px}
.vnb-app.vnb-workspace-v2 .vnb-panel[hidden]{display:none!important}
.vnb-app.vnb-workspace-v2 .vnb-dictaphone{--lcd-bg:var(--vnb-panel);--lcd-text:var(--vnb-text);--lcd-border:var(--vnb-stroke);--lcd-button:var(--vnb-panel-alt);--lcd-muted:var(--vnb-muted);--vnb-stage-height:clamp(280px,calc(100dvh - 540px),650px);background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;color:var(--vnb-text);margin:0;max-width:none;width:100%}
.vnb-app.vnb-workspace-v2 .vnb-folder-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0}
.vnb-app.vnb-workspace-v2 .vnb-folder-strip button{border-radius:22px;padding:8px 3px;min-height:38px;font:600 12px/1.15 system-ui;background:var(--vnb-panel);border-color:var(--vnb-stroke);color:var(--vnb-text)}
.vnb-app.vnb-workspace-v2 .vnb-folder-strip button.is-active{background:#1c2e24;color:#fff}
/* Compact direct selectors replace the recorder folder/mode button strips. */
.vnb-app.vnb-workspace-v2 .vnb-display-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:10px 0}
.vnb-app.vnb-workspace-v2 .vnb-display-controls label{display:grid;gap:4px;min-width:0;font:600 12px/1.2 system-ui;color:var(--vnb-muted)}
.vnb-app.vnb-workspace-v2 .vnb-display-controls select{width:100%;min-width:0;max-width:100%;height:36px;padding:5px 22px 5px 8px;border:1px solid var(--vnb-stroke);border-radius:7px;background:var(--vnb-panel);color:var(--vnb-text);text-overflow:ellipsis}
.vnb-app.vnb-workspace-v2 .vnb-folder-control{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:5px;align-items:end;min-width:0}
.vnb-app.vnb-workspace-v2 .vnb-folder-control button{width:32px;min-width:0;height:36px;padding:0}
.vnb-app.vnb-workspace-v2 .vnb-screen-stage{background:var(--vnb-panel);border-color:var(--vnb-stroke);box-shadow:inset 0 2px 5px #00000012;border-radius:12px;margin:0 0 12px;padding:12px}
.vnb-app.vnb-workspace-v2 .vnb-lcd-status{display:none}
.vnb-app.vnb-workspace-v2 .vnb-lcd-info{gap:8px;border:0;color:var(--vnb-text)}
.vnb-app.vnb-workspace-v2 .vnb-lcd-info strong{color:var(--vnb-strong);font:700 clamp(15px,2vw,22px)/1.3 system-ui;overflow-wrap:anywhere}
.vnb-app.vnb-workspace-v2 .vnb-active-title-row{display:flex;align-items:center;gap:8px;min-width:0}
.vnb-app.vnb-workspace-v2 .vnb-active-title-row .vnb-title-edit{flex:1;min-width:0;width:100%;border:0;border-bottom:1px dashed var(--vnb-stroke);border-radius:0;padding:2px 0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent;color:var(--vnb-text);font:700 15px/1.3 system-ui;cursor:text}
.vnb-app.vnb-workspace-v2 .vnb-title-edit:disabled{cursor:default;opacity:.7}
.vnb-name-dialog{width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;border:1px solid var(--vnb-stroke);border-radius:12px;padding:20px;background:var(--vnb-panel);color:var(--vnb-text)}
.vnb-name-dialog::backdrop{background:#0007}
.vnb-name-dialog form{display:grid;gap:12px;min-width:0}
.vnb-name-dialog input{width:100%;min-width:0;box-sizing:border-box}
.vnb-app .vnb-note-heading strong[role="button"]{cursor:text;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.vnb-app.vnb-workspace-v2 .vnb-lcd-info small{color:var(--vnb-muted);font:11px/1.4 system-ui}
.vnb-app.vnb-workspace-v2 .vnb-lcd-duration{font:700 20px/1.2 "Courier New",monospace;color:var(--vnb-text)}
.vnb-app.vnb-workspace-v2 .vnb-wave-panel{padding:4px 0;color:var(--vnb-muted)}
.vnb-app.vnb-workspace-v2 .vnb-wave-stage{background:var(--vnb-inset);border-radius:9px}
.vnb-app.vnb-workspace-v2 .vnb-transport-bar{padding:0;border:0;gap:10px}
.vnb-app.vnb-workspace-v2 .vnb-dictaphone .vnb-main-transport .vnb-command{min-height:50px;border-radius:8px;font:700 var(--vnb-ui-font)/1.2 system-ui;box-shadow:0 2px 0 #0003,0 3px 6px #0001}
.vnb-app.vnb-workspace-v2 .vnb-dictaphone .vnb-main-transport .vnb-command-record{background:#c43c3c;border-color:#a32e2e}
.vnb-app.vnb-workspace-v2 .vnb-dictaphone .vnb-main-transport .vnb-command-play{background:#20807c;border-color:#166560}
.vnb-app.vnb-workspace-v2 .vnb-dictaphone .vnb-main-transport .vnb-command-stop{background:#1c2e24;border-color:#14251a}
.vnb-app.vnb-workspace-v2 .vnb-lcd-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}
.vnb-app.vnb-workspace-v2 .vnb-lcd-buttons button{background:var(--vnb-panel);color:var(--vnb-text);border-color:var(--vnb-stroke);border-radius:8px;min-width:0;padding:8px 2px;min-height:38px;font-size:12px}
.vnb-app.vnb-workspace-v2 .vnb-transport-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--vnb-panel);border:1px solid var(--vnb-stroke);border-radius:10px;padding:10px;margin-top:10px}
.vnb-app.vnb-workspace-v2 .vnb-record-title-field{flex:1 1 200px;min-width:0;font-size:11px}
.vnb-app.vnb-workspace-v2 .vnb-record-title-field input{min-width:0;width:100%;box-sizing:border-box}
.vnb-app.vnb-workspace-v2 .vnb-lcd-bottom{flex:1 1 260px;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;margin:0}
.vnb-app.vnb-workspace-v2 .vnb-lcd-bottom>*{max-width:100%;min-width:0}
.vnb-app.vnb-workspace-v2 .vnb-lcd-bottom button,.vnb-app.vnb-workspace-v2 .vnb-lcd-bottom select{border-radius:16px;font-size:11px;padding:7px 9px}
.vnb-app.vnb-workspace-v2 .vnb-transport-status{font-size:11px;padding:3px 0;color:var(--vnb-muted)}
.vnb-app.vnb-workspace-v2 .vnb-journal-status{font-size:11px;color:var(--vnb-muted);margin:0 3px}
.vnb-app.vnb-workspace-v2 .vnb-card{padding:var(--vnb-card-pad);margin-bottom:12px}
.vnb-app.vnb-workspace-v2 :is(.vnb-document,.vnb-knowledge-search,.vnb-content-result,.vnb-service-settings){min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.vnb-app.vnb-workspace-v2 .vnb-document{margin-top:14px}
.vnb-app.vnb-workspace-v2 .vnb-document-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:8px 0}
.vnb-app.vnb-workspace-v2 .vnb-document-heading>div{min-width:0}
.vnb-app.vnb-workspace-v2 .vnb-document-heading h3{overflow-wrap:anywhere}
.vnb-app.vnb-workspace-v2 .vnb-document p{margin:8px 0;font-size:13px;line-height:1.5}
.vnb-app.vnb-workspace-v2 .vnb-document details{margin:12px 0;padding:10px;border:1px solid var(--vnb-stroke);border-radius:8px}
.vnb-app.vnb-workspace-v2 .vnb-document summary{cursor:pointer;font-weight:600}
.vnb-app.vnb-workspace-v2 :is(.vnb-document,.vnb-service-settings) :is(input[type=text],input[type=password],input[type=number],textarea,select){max-width:100%;box-sizing:border-box;background:var(--vnb-field);color:var(--vnb-field-text);border:1px solid var(--vnb-stroke);border-radius:7px;padding:9px;font:inherit;min-width:0}
.vnb-app.vnb-workspace-v2 .vnb-document textarea{width:100%;resize:vertical;line-height:1.5;min-height:66px}
.vnb-app.vnb-workspace-v2 .vnb-document .vnb-edit-grid textarea{height:auto;min-height:90px}
.vnb-app.vnb-workspace-v2 .vnb-service-settings form{display:grid;gap:12px;max-width:760px}
.vnb-app.vnb-workspace-v2 .vnb-service-settings form>label:not(.vnb-check-line){display:grid;gap:5px}
.vnb-app.vnb-workspace-v2 .vnb-check-line{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;margin:10px 0}
.vnb-app.vnb-workspace-v2 .vnb-check-line input{flex:0 0 auto;margin-top:4px}
.vnb-app.vnb-workspace-v2 .vnb-transcript-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);gap:10px;align-items:start;border:1px solid var(--vnb-stroke);border-radius:9px;padding:10px;margin:10px 0;transition:background .1s}
.vnb-app.vnb-workspace-v2 .vnb-transcript-row.is-current{background:var(--vnb-inset);border-color:var(--vnb-accent);box-shadow:inset 3px 0 var(--vnb-accent)}
.vnb-app.vnb-workspace-v2 .vnb-transcript-row>button{white-space:normal;text-align:left;line-height:1.5;overflow-wrap:anywhere}
.vnb-app.vnb-workspace-v2 .vnb-entry-row{display:grid;grid-template-columns:110px minmax(110px,150px) minmax(0,1fr);gap:8px;align-items:start;border-bottom:1px solid var(--vnb-stroke);padding:12px 0}
.vnb-app.vnb-workspace-v2 .vnb-entry-row>button{min-height:36px}
.vnb-app.vnb-workspace-v2 .vnb-document-exports{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--vnb-stroke)}
.vnb-app.vnb-workspace-v2 .vnb-ai-draft{white-space:pre-wrap;font:13px/1.5 system-ui;overflow-wrap:anywhere}
.vnb-app.vnb-workspace-v2 [data-vnb-transcript-original]{white-space:pre-wrap;font:13px/1.5 system-ui}
.vnb-app.vnb-workspace-v2 .vnb-note-content-actions{margin:10px 0 4px;display:flex;gap:8px;flex-wrap:wrap}
.vnb-app.vnb-workspace-v2 .vnb-content-result{display:grid;gap:8px;padding:14px;border:1px solid var(--vnb-stroke);border-radius:10px;margin:12px 0;background:var(--vnb-panel-alt)}
.vnb-app.vnb-workspace-v2 .vnb-content-hit{text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.vnb-app.vnb-workspace-v2 .vnb-toast{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:min(700px,calc(100vw - 28px));box-sizing:border-box;z-index:99999;margin:0;padding:12px 16px;box-shadow:0 4px 18px #0003}
.vnb-app.vnb-workspace-v2 [hidden]{display:none!important}
@media(max-width:600px){
 .vnb-app.vnb-workspace-v2 .vnb-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px;gap:3px}
 .vnb-app.vnb-workspace-v2 .vnb-tabs button{font-size:12px;padding:8px 3px}
 .vnb-app.vnb-workspace-v2 .vnb-panel{padding:9px}
 .vnb-app.vnb-workspace-v2 .vnb-card{padding:11px}
 .vnb-app.vnb-workspace-v2 .vnb-dictaphone{--vnb-stage-height:clamp(280px,calc(100dvh - 600px),380px)}
 .vnb-app.vnb-workspace-v2 .vnb-dictaphone .vnb-main-transport .vnb-command{min-height:48px;font-size:min(14px,var(--vnb-ui-font))}
 .vnb-app.vnb-workspace-v2 .vnb-transcript-row{grid-template-columns:minmax(0,1fr)}
 .vnb-app.vnb-workspace-v2 .vnb-entry-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .vnb-app.vnb-workspace-v2 .vnb-entry-row textarea{grid-column:1/-1}
 .vnb-app.vnb-workspace-v2 .vnb-device-head{padding:12px;min-height:57px}
}
@media(display-mode:standalone){.vnb-app.vnb-workspace-v2 .vnb-workspace{min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}

/* Appearance controls remain meaningful within the full viewport shell. */
.vnb-app.vnb-workspace-v2[data-vnb-size="small"]{--vnb-ui-font:12px}
.vnb-app.vnb-workspace-v2[data-vnb-size="large"]{--vnb-ui-font:16px}
.vnb-app.vnb-workspace-v2[data-vnb-layout="compact"]{--vnb-panel-gap:8px;--vnb-card-pad:11px}
.vnb-app.vnb-workspace-v2[data-vnb-layout="stacked"] .vnb-edit-grid{grid-template-columns:minmax(0,1fr)}
.vnb-app.vnb-workspace-v2[data-vnb-layout="device"] .vnb-device-head{border-bottom:3px solid var(--vnb-stroke);font-family:"Courier New",monospace}
