/* Cockpit presentation 0.7: clinical colors retain their existing meaning. */
:root{--instrument-bg:#e8ecf0;--recess:#fcfdff;--metal:#d1d8df;--instrument-font:'Lucida Console','Courier New',monospace}
body{background:var(--instrument-bg)}
.brand,.logo{font-family:var(--instrument-font);font-weight:800;letter-spacing:-1.3px;text-shadow:0 1px 0 #ffffff40}
.sidebar,.workspace-sidebar{box-shadow:inset 1px 1px 0 #ffffff38,inset -2px 0 3px #0004,6px 0 15px #17273628;background-image:linear-gradient(105deg,#ffffff0e,transparent 40%,#00000018)}
.sidebar .primary-nav a[aria-current=page],.sidebar .cockpit-nav button.active{background:linear-gradient(#647385,#344456);border-color:#a4b0bd;box-shadow:inset 0 2px 4px #0005}
button:not(.link):not(.text-button),select{box-shadow:inset 0 1px 0 #fff9,0 2px 2px #24334326;background-image:linear-gradient(#ffffff45,transparent 52%,#00000008)}
button:not(.link):not(.text-button):active,button[aria-pressed=true],button[aria-selected=true]{box-shadow:inset 0 2px 4px #17273642}
.sidebar-toggle,.toggle,.oc-quiet button{background:linear-gradient(160deg,#fff 0%,#f8fafc 40%,#cdd5de 50%,#edf1f5 100%)!important;color:#243343!important;border:1px solid #94a2b0!important;box-shadow:inset 0 1px 0 white,0 2px 3px #182b4040!important}
.sidebar-toggle,.toggle{min-width:44px!important;min-height:40px;font-size:24px!important;padding:3px 12px!important}
.panel,.card,.module-card,.patient,.patient-context-summary,.pane,.practice,.source-summary,.od-panel,.di-panel{background-color:var(--recess);box-shadow:inset 2px 3px 6px #2433431b,inset -1px -1px 0 white;border-color:#c3cdd6}
.pane>.body,.pane-scroll{background:#ffffffb8;box-shadow:inset 0 3px 8px #23334315}
.panehead,.pane-header,.patienthead,.patientfoot,.panefoot{box-shadow:0 1px 0 #fff,inset 0 -1px 0 #24334315}
.driver,.datum,.pane-section,.timeline-link{box-shadow:0 1px 0 #ffffffa0}
#workspace .panes>.pane,.panes>.pane{height:1050px}
@media(min-width:761px){#workspace:not(.focuscurrent) .panes{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr)}}
@media(min-width:1600px){#workspace .panes>.pane{height:1125px}}
.num,.oc-counter,.oc-dial-value{font-family:var(--instrument-font);font-variant-numeric:tabular-nums}
.num{border-radius:3px;background:#f4f6f8;padding:1px 3px;box-shadow:inset 0 1px 2px #0002}
.oc-module{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:8px 10px;border:1px solid #96a4b4;border-radius:5px;margin:12px 0;color:inherit;box-shadow:inset 0 1px 1px #0003,0 1px 0 #fff2}
.oc-quiet{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px}.oc-quiet button{font:inherit;font-size:11px;padding:5px 8px;min-height:30px}
.oc-ident{position:sticky;top:var(--oc-top,0px);z-index:5;background:linear-gradient(#fbfcfe,#e3e9ef);border:1px solid #aebbc8;border-radius:6px;padding:9px 13px;margin:0 0 12px;box-shadow:0 2px 5px #182b4025;display:flex;gap:6px 18px;flex-wrap:wrap;font-size:12px;color:#26333f}.oc-ident strong{font-family:var(--instrument-font)}
.oc-instruments{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 15px;margin:12px 0;background:var(--recess);border:1px solid #bfccd7;border-radius:8px;box-shadow:inset 2px 3px 6px #24334320}
.oc-review{flex:1;min-width:190px}.oc-review p{font-size:12px;margin:4px 0}.oc-lamp{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:#ab742b;box-shadow:inset 0 1px 2px #fff9,0 0 0 2px #c4cbd3}.oc-lamp.clear{background:#47735a}
.oc-pulse{animation:oc-pulse 2.5s ease-in-out 3}@keyframes oc-pulse{50%{box-shadow:0 0 0 5px #b87a252a}}
.oc-perspectives{display:flex;gap:4px;flex-wrap:wrap}.oc-perspectives button{font-size:12px;min-height:36px}.oc-perspectives button[data-perspective=prior]{border-bottom:3px solid #8b98a7}.oc-perspectives button[data-perspective=current]{border-bottom:3px solid #a32d3e}.oc-perspectives button[data-perspective=scenario]{border-bottom:3px solid #8056ae}
.oc-dial{position:relative;width:74px;height:74px;flex:none;border-radius:50%;background:radial-gradient(circle at 40% 30%,#fff,#e6ebf0 65%,#bdc7d2);border:5px solid #c1cbd5;box-shadow:2px 3px 4px #0003,inset 1px 2px 4px #0003;text-align:center}.oc-dial:before{content:'';position:absolute;inset:3px;border-radius:50%;border:1px dashed #75869a}.oc-needle{position:absolute;left:calc(50% - 1px);top:9px;height:25px;width:2px;background:#384f64;transform-origin:50% 100%;transform:rotate(var(--angle,-120deg));transition:transform .3s}.oc-dial-value{position:absolute;bottom:5px;left:0;right:0;font-size:12px;font-weight:bold}.oc-dial-caption{font-size:11px;max-width:155px}
.oc-roll{display:inline-block;animation:oc-roll .24s ease-out}@keyframes oc-roll{from{transform:translateY(-35%);opacity:.4}to{transform:translateY(0);opacity:1}}
.oc-track{margin:12px 0;padding:12px;border:1px solid #bdc9d4;border-radius:7px;background:#fafcff;box-shadow:inset 0 2px 5px #26333f22;font-size:12px}.oc-track ol{display:flex;gap:0;list-style:none;padding:15px 0 5px;margin:0;overflow:auto}.oc-track li{min-width:150px;flex:1;border-top:3px solid #9ba9b8;padding:8px 12px;box-shadow:0 -1px 0 #fff}.oc-track li:last-child{border-top-style:dashed;border-top-color:#8056ae}.oc-track time{display:block;font-family:var(--instrument-font);font-size:11px}.oc-track .oc-now{border-left:3px solid #a32d3e;padding-left:8px;margin:8px 0}.oc-track small{color:#5c6a78}.oc-track input{width:100%;max-width:500px}
html[data-oc-motion=off] .oc-pulse,html[data-oc-motion=off] .oc-roll{animation:none}html[data-oc-motion=off] .oc-needle{transition:none}

@media(max-width:850px){.oc-ident{position:static}.oc-instruments{gap:10px}.oc-quiet{max-width:220px}}
@media(max-width:760px){#workspace .panes>.pane{height:975px}.oc-ident{font-size:11px}}
@media print{.oc-quiet,.oc-perspectives{display:none}.oc-ident{position:static}.oc-pulse,.oc-roll{animation:none}#workspace .panes>.pane,.panes>.pane{height:auto;overflow:visible}}
/* Navigation uses metal and relief, reserving hue for clinical meaning. */
.sidebar .workspace-launch,.sidebar .reference-launch,.sidebar .workspace-launch:hover{background:linear-gradient(155deg,#617383,#31424e 60%,#3f5260);color:#fff;border-color:#889ca9}
.sidebar .cockpit-button.selected,.sidebar .reference-launch.selected{background:linear-gradient(#dce5ec,#b8c7d3);color:#243343;box-shadow:inset 0 2px 4px #17273650,0 1px 0 #fff5;border-color:#aebdc8}
.sidebar .nav-button.active{color:#243343;box-shadow:inset 0 2px 4px #17273635}
.od-results article,.od-browser,.di-card,.context-bar,.workspace-customization,.note-evidence-panel{background-color:var(--recess);box-shadow:inset 1px 2px 5px #24334319,0 1px 0 #fff}
.oc-module-header{font-family:var(--instrument-font);font-size:10px;font-weight:700;color:#344b5c}

/* Arrow silhouette is the button itself; words remain inside its body. */
.sidebar-toggle,.toggle{width:140px;min-width:140px!important;min-height:42px;font-size:12px!important;font-weight:700;padding:8px 14px 8px 27px!important;border-radius:0!important;clip-path:polygon(0 50%,18% 0,100% 0,100% 100%,18% 100%);filter:drop-shadow(0 2px 2px #17273655)}
.sidebar-toggle[aria-expanded=false],.toggle[aria-expanded=false]{padding:8px 27px 8px 14px!important;clip-path:polygon(0 0,82% 0,100% 50%,82% 100%,0 100%)}
.sidebar-toggle:focus-visible,.toggle:focus-visible{outline:none!important;background:#d6e6f3!important;box-shadow:inset 0 0 0 4px #344b5c!important}
#workspace .pane>.body,.pane-scroll{overscroll-behavior-y:auto}
/* Keep the home-page workflow preview square with the page. */
.hero-preview{transform:none}

/* Persistent, slow attention pulse; never hides the label. Clears on review. */
.oc-pulse{animation:oc-pulse 2.6s ease-in-out infinite}
button.oc-attention{border:1px solid #b78023!important;color:#61430f!important;background-color:#fff6dc!important;animation:oc-attention 2.6s ease-in-out infinite!important}
@keyframes oc-attention{0%,100%{box-shadow:inset 0 1px 0 #fff,0 0 0 1px #ba832840;background-color:#fff8e7}50%{box-shadow:inset 0 1px 0 #fff,0 0 0 4px #bd812f55,0 0 13px #bd812f44;background-color:#ffdf91}}
.oc-roll{animation-duration:.5s}
.oc-needle{transition:transform .6s ease-out}
html[data-oc-motion=off] button.oc-attention{animation:none!important}

@media print{button.oc-attention{animation:none!important}}

/* One timeline panel with review changes placed at their dated event. */
.oc-module-header{font:700 18px/1.3 var(--instrument-font);letter-spacing:.4px;padding:9px 15px;background:linear-gradient(#eff3f6,#d7e0e8);border:1px solid #a9b7c3;border-radius:5px;box-shadow:inset 0 1px 0 #fff,0 2px 3px #17273620;order:1}
.topbar .oc-quiet{order:2}.oc-instruments.oc-track{display:block}.oc-timeline ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));overflow:visible;gap:10px}.oc-timeline li{min-width:0}.oc-timeline li.oc-review-event{border-top-color:#b78023;grid-column:span 2;background:#fffaf0;border-radius:0 0 5px 5px}.oc-review-event .oc-review{margin-top:10px;min-width:0}.oc-review-event .oc-review>strong{font-size:11px}.oc-timeline-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid #c3ced8;margin-top:12px;padding-top:12px}.oc-pane-calculation{margin-bottom:10px}.oc-preserved{font-size:11px;color:#596b7b;margin:10px 0 0}
@media(max-width:760px){.oc-module-header{font-size:15px;padding:7px 10px}.oc-timeline ol{grid-template-columns:1fr}.oc-timeline li.oc-review-event{grid-column:auto}}

.oc-timeline li:last-child{border-top-style:solid;border-top-color:#9ba9b8}.oc-timeline li.oc-hypothetical{border-top-style:dashed;border-top-color:#8056ae}.oc-timeline li.oc-review-event{border-top-color:#b78023}
.topbar{height:auto;flex-wrap:wrap;min-width:0}.topbar-start,.top-start{min-width:0;flex-wrap:wrap}.oc-module-header{max-width:100%;overflow-wrap:anywhere}.oc-timeline li,.oc-timeline output{overflow-wrap:anywhere}.oc-timeline-controls>div{min-width:0}.oc-instruments{min-width:0}
@media(max-width:760px){.topbar .breadcrumb{flex-wrap:wrap}.topbar .oc-module-header{order:0}.oc-timeline-controls{gap:10px}}
/* The public home page shares the cockpit's tactile surfaces. */
.land{background:var(--instrument-bg)}
.land>header{background:linear-gradient(#f8fafc,#e2e9ee);border-bottom:1px solid #b5c3ce;box-shadow:0 2px 5px #24334320,inset 0 1px 0 #fff}
.hero>div:first-child,.hero-preview,.features>div{background:var(--recess);border:1px solid #bdcad5;border-radius:10px;box-shadow:inset 2px 3px 7px #24334324,inset -1px -1px 0 #fff;min-width:0}
.hero>div:first-child{padding:30px}.hero-preview{transform:none;padding:30px}.features>div{padding:24px}
.hero-preview .mini-row{border-bottom:1px solid #cbd5de;box-shadow:0 1px 0 #fff;padding-bottom:15px}.hero-preview .mini-num{font-family:var(--instrument-font);background:#edf1f5;box-shadow:inset 0 2px 3px #24334320}
.land button.primary{background-image:linear-gradient(#ffffff35,transparent 48%,#00000012);box-shadow:inset 0 1px 0 #ffffff88,0 3px 4px #24334330}
@media(max-width:760px){.hero>div:first-child,.hero-preview{padding:21px}.features>div{padding:20px}}

/* OncoCipher identity: black, white and red. Clinical colors stay in the data. */
.brand,.logo{color:#111}.sidebar .brand,.workspace-sidebar .brand{color:#fff}
.brand strong,.brand>span:last-child strong,.brand>span:not(.brand-mark):only-child{color:#d71920}
.brand-mark{color:#fff;background:#000;border-color:#d71920;transform:none}
.logo span{color:#d71920!important}

.workspace-sidebar .logo,.appbar .logo{color:#fff}

.login-card .brand,.land .brand{color:#000}

.worksheet-minimal>.patient-context-summary{margin-top:0}.oc-compact-journey ol{display:flex;overflow:auto;margin:8px 0 0;padding:8px 0}.oc-compact-journey li{min-width:180px}.oc-compact-journey time{display:block;font:11px var(--instrument-font)}.worksheet-minimal .panes{margin-top:14px}.worksheet-minimal .patient-context-summary>p.hint{display:none}

.change-patient{margin:0 0 12px}.oc-compact-journey li:last-child{border-top-style:solid;border-top-color:#a32d3e}

.pane-width-control{display:flex;align-items:center;gap:8px;font-size:11px;margin:8px 0 0}.pane-width-control input{min-width:0;flex:1;width:100%;accent-color:#a32d3e}.pane-width-control output{min-width:30px;font-variant-numeric:tabular-nums}
@media(min-width:851px){.worksheet-minimal .panes:not(.expanded){grid-template-columns:minmax(0,var(--prior,1fr)) minmax(0,var(--current,1.2fr)) minmax(0,var(--scenario,1fr))}}
@media(max-width:850px){.pane-width-control{display:none}}
