:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#f5f6fb;--surface:#ffffff;--soft:#f8f7fe;--line:#e5e6f0;--text:#171b34;--muted:#72788f;--primary:#7537f7;--primary-hover:#6427e7;--primary-weak:#f0e9ff;--green:#0a9660;--green-bg:#e5f8ef;--amber:#b56a08;--amber-bg:#fff4db;--blue:#336edc;--blue-bg:#eaf0ff;--shadow:0 8px 32px #1c18410c;color-scheme:light}
html[data-theme="dark"]{--bg:#0a0d1a;--surface:#12172a;--soft:#191e34;--line:#2c3250;--text:#eff0fc;--muted:#a5aac5;--primary:#965fff;--primary-hover:#a97dff;--primary-weak:#2a1c47;--green:#46d6a0;--green-bg:#173d35;--amber:#ffbd64;--amber-bg:#47341c;--blue:#7ba8ff;--blue-bg:#1b315b;--shadow:0 12px 35px #01040b50;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-width:320px}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.sidebar{position:fixed;z-index:30;left:0;top:0;bottom:0;width:244px;background:var(--surface);border-right:1px solid var(--line);padding:28px 14px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:9px}.sidebar-brand{padding:0 10px 23px}.brand-symbol{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:10px;background:linear-gradient(135deg,#6723db,#ac79ff);color:white;font-size:28px;font-weight:800}.brand-lockup{display:flex;flex-direction:column}.brand-lockup strong{font-size:19px;line-height:1;letter-spacing:-.8px}.brand-lockup strong span{color:var(--primary)}.brand-lockup small{text-align:right;font-size:10px;padding-top:3px;color:var(--muted)}.tenant-tile{background:var(--soft);border:1px solid var(--line);padding:12px;border-radius:12px;display:flex;gap:11px;align-items:center;margin-bottom:27px}.tenant-icon{font-size:20px;color:var(--primary)}.tenant-tile strong,.tenant-tile small{display:block}.tenant-tile strong{font-size:11px}.tenant-tile small{font-size:10px;color:var(--muted);margin-top:4px}.nav-label{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:1.2px;padding:0 14px;margin-bottom:11px}.side-nav{display:flex;flex-direction:column;gap:5px}.nav-button{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--muted);text-align:left;padding:12px 14px;font-size:13px;border-radius:10px;font-weight:650}.nav-button:hover,.nav-button.active{background:var(--primary-weak);color:var(--primary)}.nav-icon{width:20px;font-size:18px;text-align:center}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:18px 10px 0;color:var(--muted);font-size:11px;line-height:1.5}.sidebar-foot small{display:block;margin-left:15px;margin-top:3px}.foot-dot{background:var(--green);width:7px;height:7px;display:inline-block;border-radius:50%;margin-right:5px}.shell{margin-left:244px;min-height:100vh}.topbar{height:77px;background:var(--surface);border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;gap:15px}.top-title{display:flex;flex-direction:column;gap:3px}.top-title strong{font-size:16px}.top-title small{font-size:11px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:18px;margin-left:auto}.demo-chip{font-size:10px;letter-spacing:1px;color:var(--primary);background:var(--primary-weak);padding:7px 10px;border-radius:30px;font-weight:900}.theme-switch{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--soft);color:var(--text);padding:9px 13px;border-radius:10px;font-size:12px;font-weight:700}.theme-switch span:first-child{color:var(--primary);font-size:17px}.profile{display:flex;align-items:center;gap:9px}.profile strong,.profile small{display:block}.profile strong{font-size:12px}.profile small{font-size:10px;color:var(--muted);margin-top:3px}.avatar{width:33px;height:33px;background:linear-gradient(135deg,#641bf3,#ab78ff);color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:900}.main-content{max-width:1450px;margin:auto;padding:29px 34px 70px}.eyebrow{font-size:11px;color:var(--primary);font-weight:850;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:8px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:12px}.page-head h1{font-size:27px;line-height:1.15;margin:0 0 7px;letter-spacing:-.7px}.page-head p{margin:0;color:var(--muted);font-size:13px}.btn{border-radius:10px;border:1px solid var(--line);padding:11px 15px;font-weight:750;font-size:12px;background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn:disabled{opacity:.55;cursor:not-allowed}.grid{display:grid;gap:17px}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card,.panel,.instrument-hero,.detail-stat{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.stat-card{padding:20px;display:flex;gap:13px;align-items:center}.stat-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;font-size:22px;background:var(--primary-weak);color:var(--primary);flex-shrink:0}.stat-card.green .stat-icon{background:var(--green-bg);color:var(--green)}.stat-card.amber .stat-icon{background:var(--amber-bg);color:var(--amber)}.stat-card.blue .stat-icon{background:var(--blue-bg);color:var(--blue)}.stat-card small{display:block;color:var(--muted);font-size:11px;line-height:1.35}.stat-card strong{font-size:26px;line-height:1.4;letter-spacing:-.6px}.panel{padding:21px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px;gap:9px}.panel-title strong{font-size:15px}.panel-title small,.text-link{font-size:11px;color:var(--primary);font-weight:750}.dashboard-content{display:grid;grid-template-columns:1.15fr 1fr;gap:17px;margin-top:18px}.status-list{display:grid;gap:16px}.status-line{display:grid;grid-template-columns:105px 1fr 42px;align-items:center;gap:10px;font-size:12px}.status-line .bar{height:8px;background:var(--soft);border-radius:20px;overflow:hidden}.status-line .bar>span{height:100%;display:block;border-radius:20px;background:var(--primary)}.status-line .bar>span.green-bg{background:#20b77a}.status-line .bar>span.amber-bg{background:#f6ae49}.status-line strong{text-align:right}.timeline{display:flex;flex-direction:column;gap:16px}.timeline-item{display:flex;align-items:flex-start;gap:12px}.timeline-dot{height:29px;width:29px;border-radius:10px;color:var(--primary);display:grid;place-items:center;background:var(--primary-weak);flex-shrink:0}.timeline-item strong{font-size:12px}.timeline-item p{color:var(--muted);font-size:11px;margin:5px 0}.timeline-item small{font-size:10px;color:var(--muted)}.banner{border-radius:17px;overflow:hidden;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(115deg,#331569,#7036e2 58%,#a871ff);color:#fff;padding:25px 28px;margin-bottom:23px}.banner h2{font-size:18px;line-height:1.3;margin:4px 0 7px}.banner p{font-size:12px;opacity:.8;margin:0}.banner-badge{font-weight:900;font-size:42px;color:#ffffff55}.search-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.field{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:11px 12px;font-size:12px;min-height:40px;outline:none}.field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-weak)}.search{flex:1;min-width:200px}.table-scroll{overflow:auto}.asset-table{border-collapse:collapse;width:100%;min-width:740px;text-align:left}.asset-table th{font-size:10px;color:var(--muted);background:var(--soft);padding:12px 14px;text-transform:uppercase;letter-spacing:.4px}.asset-table td{border-bottom:1px solid var(--line);padding:14px;font-size:12px}.asset-table tr:last-child td{border-bottom:0}.asset-table tbody tr{cursor:pointer}.asset-table tbody tr:hover{background:var(--soft)}.tag-link{color:var(--primary);font-weight:800}.badge-status{display:inline-flex;border-radius:7px;background:var(--green-bg);color:var(--green);padding:6px 9px;white-space:nowrap;font-weight:750;font-size:10px}.badge-status.maintenance{background:var(--amber-bg);color:var(--amber)}.empty{text-align:center;padding:35px;color:var(--muted);font-size:12px}.topline{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.crumb{font-size:12px;color:var(--muted)}.crumb button{border:0;background:none;color:var(--primary);padding:0}.instrument-hero{padding:23px;display:grid;grid-template-columns:180px minmax(0,1fr) 210px;gap:23px}.instrument-visual{min-height:188px;background:radial-gradient(circle at 70% 20%,#e1d0ff,transparent 45%),linear-gradient(150deg,#eae9f5,#cbd5ea);border-radius:13px;display:flex;justify-content:center;align-items:center;overflow:hidden}.visual-radar{width:95px;height:95px;border:12px solid #2776ba;background:radial-gradient(circle at 45% 35%,#6fa5c4,#23567b 55%,#143b5a);border-radius:50%;box-shadow:0 18px 0 -6px #67869e,0 45px 0 -19px #3c536c,0 51px 0 -18px #8ca5b5;position:relative}.visual-radar:before{content:"";position:absolute;bottom:-91px;left:33px;width:10px;height:56px;background:#7e9ba9}.visual-radar:after{content:"RADAR";position:absolute;left:12px;top:27px;font-size:9px;letter-spacing:1px;font-weight:700;color:#daedff}.hero-body h1{margin:7px 0;font-size:26px}.hero-body h1 .badge-status{vertical-align:middle;margin-left:9px}.hero-body p{font-size:12px;color:var(--muted);margin:0 0 17px}.detail-info{display:grid;grid-template-columns:120px minmax(0,1fr);row-gap:10px;font-size:12px}.detail-info dt{color:var(--muted)}.detail-info dd{margin:0;font-weight:660}.qr-box{border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:8px;flex-direction:column;padding:14px}.qr-box strong{font-size:11px}.qr-box img{width:135px;height:135px;background:white;padding:4px}.qr-box small{font-size:10px;color:var(--muted);text-align:center}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-top:22px;overflow:auto}.tab{background:transparent;border:0;border-bottom:2px solid transparent;font-size:12px;font-weight:750;color:var(--muted);padding:14px 17px;white-space:nowrap}.tab.active{border-color:var(--primary);color:var(--primary)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:17px}.kv{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.kv:last-child{border-bottom:0}.kv .muted{font-size:11px}.kv strong{text-align:right}.event-card{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.event-card:last-child{border-bottom:0}.event-card .when{font-size:11px;color:var(--muted);white-space:nowrap}.event-card h3{font-size:13px;margin:5px 0}.event-card p{font-size:12px;margin:0 0 9px;color:var(--muted)}.event-card small{font-size:11px;color:var(--muted)}.qr-workspace{display:grid;grid-template-columns:1fr 1fr;gap:18px}.qr-preview{background:white;border:1px solid #d6d6e6;padding:17px;border-radius:13px;display:flex;gap:14px;align-items:center;color:#17172b;max-width:460px}.qr-preview img{width:143px;height:143px}.qr-preview strong{font-size:18px}.qr-preview small{display:block;font-size:11px;margin:7px 0}.purple-word{font-size:15px;color:#6d30e4;font-weight:1000;letter-spacing:-.4px}.qr-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.qr-note{font-size:12px;color:var(--muted);line-height:1.7}.notice{font-size:11px;border:1px dashed var(--line);background:var(--soft);color:var(--muted);padding:11px 14px;border-radius:9px}.mobile-nav{display:none}.menu-trigger{display:none}.icon-button{border:0;background:transparent;color:var(--text);font-size:23px}.loading{padding:70px;text-align:center;color:var(--muted)}.toast{position:fixed;z-index:90;right:20px;bottom:20px;background:var(--text);color:var(--surface);padding:13px 18px;border-radius:10px;font-size:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}.report-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.report-tile{border:1px solid var(--line);border-radius:12px;padding:15px;background:var(--soft)}.report-tile strong{font-size:12px}.report-tile p{font-size:11px;color:var(--muted)}
@media (max-width:1150px){.four{grid-template-columns:repeat(2,minmax(0,1fr))}.instrument-hero{grid-template-columns:130px minmax(0,1fr)}.instrument-hero .qr-box{grid-column:1/-1;flex-direction:row;justify-content:center}.qr-box img{width:100px;height:100px}}
@media (max-width:860px){.sidebar{width:225px}.shell{margin-left:225px}.main-content{padding:22px}.dashboard-content,.detail-grid{grid-template-columns:1fr}.banner-badge{display:none}.instrument-hero{grid-template-columns:1fr 1fr}}
@media (max-width:670px){.sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:var(--shadow);width:255px}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.topbar{height:65px;padding:0 15px}.menu-trigger{display:block}.profile div{display:none}.avatar{width:29px;height:29px}.demo-chip{display:none}.top-actions{gap:8px}.theme-switch{padding:8px 10px}.main-content{padding:19px 14px 105px}.page-head h1{font-size:24px}.page-head p{font-size:12px}.four,.two,.three,.qr-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:14px;gap:8px}.stat-card strong{font-size:22px}.stat-card small{font-size:10px}.stat-icon{width:33px;height:33px;font-size:17px}.banner{padding:20px}.panel{padding:16px}.status-line{grid-template-columns:101px 1fr 33px;font-size:11px}.instrument-hero{grid-template-columns:1fr;padding:16px}.instrument-visual{height:145px;min-height:145px}.instrument-hero .qr-box{grid-column:auto}.detail-info{grid-template-columns:125px 1fr}.qr-workspace{grid-template-columns:1fr}.qr-preview{gap:10px}.qr-preview img{width:115px;height:115px}.mobile-nav{z-index:20;position:fixed;display:flex;justify-content:space-around;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:9px 3px max(9px,env(safe-area-inset-bottom))}.mobile-nav-button{background:transparent;border:0;color:var(--muted);font-size:10px;display:flex;align-items:center;flex-direction:column;gap:4px;padding:3px 9px}.mobile-nav-button span{font-size:21px}.mobile-nav-button.active{color:var(--primary)}.toast{bottom:85px;left:18px;right:18px}.report-list{grid-template-columns:1fr}}
@media (max-width:410px){.four{gap:9px}.stat-card{padding:10px}.stat-card .stat-icon{width:29px;height:29px}.stat-card strong{font-size:19px}.page-head{align-items:flex-start}.page-head .btn{padding:9px}.theme-switch{font-size:11px}.qr-preview img{width:100px;height:100px}}
@media print{.sidebar,.topbar,.mobile-nav,.page-head,.qr-actions,.search-row,.tabs,.notice,.btn{display:none!important}.shell{margin:0}.main-content{padding:0;background:white}.qr-workspace{display:block}.qr-preview{border:1px solid black;break-inside:avoid}}
/* R0.1: persistent record flow, accessible modal and stable QR identity. */
textarea{font:inherit;resize:vertical}button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}[hidden]{display:none!important}.spaced{margin-top:18px}.section-divider{border:0;border-top:1px solid var(--line);margin:24px 0}.banner .eyebrow{color:#e4d5ff}.text-link{border:0;background:transparent}.backup-button{margin-top:13px;width:100%;font-size:11px;white-space:normal}.sidebar-foot{font-size:10px}.status-line{grid-template-columns:135px 1fr 28px}.status-progress{width:100%;height:9px;border:0;border-radius:8px;overflow:hidden;appearance:none;background:var(--soft);color:var(--green);accent-color:var(--green)}.status-progress::-webkit-progress-bar{background:var(--soft);border-radius:8px}.status-progress::-webkit-progress-value{background:var(--green);border-radius:8px}.status-progress.maintenance::-webkit-progress-value{background:var(--amber)}.status-progress.offline::-webkit-progress-value{background:#dc5169}.status-progress.unverified::-webkit-progress-value{background:var(--muted)}.status-progress::-moz-progress-bar{background:currentColor}.status-progress.maintenance{color:var(--amber)}.status-progress.offline{color:#dc5169}.status-progress.unverified{color:var(--muted)}.badge-status.offline{color:#c33050;background:#fce8ed}.badge-status.unverified{color:var(--muted);background:var(--soft);border:1px solid var(--line)}html[data-theme=dark] .badge-status.offline{color:#ff9aac;background:#43202d}.qr-active{color:var(--green);font-weight:750;white-space:nowrap}.instrument-visual{position:relative;min-height:215px}.visual-caption{position:absolute;bottom:10px;left:9px;right:9px;text-align:center;font-size:9px;color:#334562;font-weight:700}.visual-radar:after{content:'SENSOR';font-size:8px;left:10px}.hero-body h1{overflow-wrap:anywhere}.detail-info dd,.kv strong,.notes-text,.qr-preview strong{overflow-wrap:anywhere}.notes-text{font-size:13px;line-height:1.7;color:var(--muted);white-space:pre-wrap}.qr-large{width:190px;height:190px;background:white}.input-label{display:block;font-size:12px;font-weight:650;color:var(--muted);margin-bottom:9px}.full-field{width:100%;margin-bottom:18px}.link-box{margin-top:22px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.link-box code{display:block;font-size:11px;line-height:1.8;overflow-wrap:anywhere;color:var(--text);user-select:all;margin-bottom:12px}.notice{line-height:1.7}.notice.warning{border-color:var(--amber);background:var(--amber-bg);color:var(--text)}.event-body{flex:1;min-width:0}.event-body .when{white-space:normal;line-height:1.5}.event-body p{overflow-wrap:anywhere}.change-diff{margin:10px 0 16px;font-size:11px;line-height:1.8}.change-diff div{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.change-diff dt{font-weight:750;color:var(--muted)}.change-diff dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.change-diff dd>span:first-child{color:var(--muted)}.qr-preview>div{min-width:0}.asset-dialog{width:min(840px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 32px 100px #080b2650;overflow:auto}.asset-dialog::backdrop{background:#080b2675;backdrop-filter:blur(4px)}.dialog-header{padding:24px 28px 19px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);background:var(--surface)}.dialog-header h2{font-size:24px;margin:4px 0 8px;letter-spacing:-.6px}.dialog-header p{font-size:12px;color:var(--muted);margin:0}.dialog-header .icon-button{width:34px;height:34px;border-radius:8px;background:var(--soft)}.dialog-body{padding:22px 28px}.identity-notice{display:flex;align-items:center;gap:13px;background:var(--primary-weak);border:1px solid var(--line);border-radius:13px;padding:15px 17px;margin-bottom:24px}.identity-icon{font-size:30px;color:var(--primary)}.identity-notice strong{font-size:13px;display:block}.identity-notice small{font-size:11px;color:var(--muted);display:block;margin-top:5px;line-height:1.5}.local-pill{margin-left:auto;align-self:flex-start;background:var(--surface);color:var(--primary);border-radius:6px;padding:5px 8px;font-size:9px;letter-spacing:.8px;font-weight:850}.form-section{padding:0;border:0;margin:0 0 24px;min-width:0}.form-section legend{font-size:13px;font-weight:850;margin:0 0 16px;letter-spacing:.15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px}.form-field{min-width:0;display:flex;flex-direction:column;gap:7px}.form-field.wide{grid-column:1/-1}.form-field label{font-size:12px;font-weight:700}.form-field .field{width:100%;font-size:13px;padding:11px 12px;min-height:43px}.form-field small,.field-note{font-size:11px;color:var(--muted);line-height:1.6;margin:0}.field-note{margin:-7px 0 17px}.required-mark{color:var(--primary)}.dialog-footer{position:sticky;bottom:0;border-top:1px solid var(--line);background:var(--surface);padding:18px 28px;display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-footer>small{color:var(--muted);font-size:10px;line-height:1.5;max-width:170px}.form-actions{display:flex;gap:10px}.form-actions .btn{min-height:43px}.form-error{background:var(--amber-bg);color:var(--text);border:1px solid var(--amber);border-radius:10px;padding:14px;font-size:12px;line-height:1.7;margin-bottom:18px}[aria-invalid=true]{border-color:#d43c56!important}.asset-dialog input[type=date]{min-width:0}.qr-workspace,.detail-grid,.dashboard-content,.shell{min-width:0}.qr-preview{max-width:100%}.page-head p{line-height:1.7}.btn{line-height:1.35}
@media(max-width:1000px){.qr-workspace{grid-template-columns:1fr}.qr-preview{max-width:500px}.main-content{padding-left:23px;padding-right:23px}}
@media(max-width:670px){.asset-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:15px}.dialog-header{padding:19px 18px 16px}.dialog-header h2{font-size:21px}.dialog-body{padding:18px}.form-grid{grid-template-columns:1fr;gap:15px}.dialog-footer{padding:14px 18px}.dialog-footer>small{display:none}.form-actions{width:100%}.form-actions .btn-primary{flex:1;white-space:normal}.identity-notice{padding:12px;gap:9px}.identity-notice .local-pill{display:none}.page-head{align-items:flex-start;flex-direction:column}.page-head .btn{min-height:42px}.stat-card small{line-height:1.5}.main-content{padding-left:14px;padding-right:14px}.status-line{grid-template-columns:130px 1fr 25px}.instrument-hero .qr-box{flex-wrap:wrap;gap:10px}.detail-info{grid-template-columns:110px minmax(0,1fr)}.event-card .when{font-size:10px}.qr-actions .btn{white-space:normal;min-height:43px}.topbar{padding:0 10px;gap:9px}.top-title strong{font-size:13px}.top-actions{gap:7px}.theme-switch{padding:8px}.profile{display:none}.qr-preview{padding:13px;gap:11px}.qr-preview img{flex-shrink:0}.notes-text{font-size:12px}}
@media print{.asset-dialog,.backup-button{display:none!important}}
/* R0.2 additions: same approved light/dark variables. */
[hidden]{display:none!important}.m-actions{display:flex;gap:9px;flex-wrap:wrap}.m-stepbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px}.m-step{font-size:11px;padding:8px 10px;border-radius:20px;color:var(--muted);background:var(--soft)}.m-step.active{background:var(--primary-weak);color:var(--primary);font-weight:750}.m-stepbar .badge-status{margin-left:auto}.maintenance-dialog{width:min(860px,calc(100vw - 28px));max-height:calc(100dvh - 28px)}.maintenance-dialog textarea{font:inherit;resize:vertical;min-height:74px;width:100%}.maintenance-dialog .dialog-body{overflow-wrap:anywhere}.m-author{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:13px;margin:15px 0}.m-author strong{font-size:12px}.m-author small,.m-derived small{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px}.m-success{font-size:12px;color:var(--green)}.m-evidence,.m-addenda{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}.m-evidence h3,.m-addenda h3{font-size:15px}.m-evidence>.muted,.asset-upload>.muted{font-size:12px;line-height:1.7}.attachments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.attachment-card{display:flex;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--soft);overflow:hidden;min-width:0}.attachment-card img,.pdf-tile{width:74px;height:84px;object-fit:contain;border-radius:8px;background:var(--surface);flex-shrink:0}.pdf-tile{display:grid;place-items:center;font-size:17px;color:var(--primary);font-weight:800}.attachment-card>div:not(.pdf-tile){min-width:0}.attachment-card strong{display:block;font-size:12px;overflow-wrap:anywhere}.attachment-card small{display:block;font-size:10px;color:var(--muted);margin:5px 0;line-height:1.5}.attachment-card p{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.attachment-card .btn{font-size:11px;padding:8px 10px;white-space:normal}.m-evidence input[type=file]{display:block;width:100%;margin:8px 0 14px}.upload-row{display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--soft);padding:10px;border-radius:8px;margin:10px 0}.upload-row strong{font-size:12px;overflow-wrap:anywhere}.upload-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.m-entry{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 0;border-top:1px solid var(--line)}.m-entry>div{min-width:0}.m-entry h3{font-size:15px;margin:10px 0}.m-entry p,.m-addendum p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.m-entry small{font-size:11px;color:var(--muted);margin-left:7px}.m-derived{padding:12px;background:var(--primary-weak);border-radius:12px;font-size:12px}.m-addendum{padding:12px;background:var(--soft);border-radius:10px;margin:10px 0}.m-addendum small{font-size:11px;color:var(--muted)}#mAddendum{display:block;width:100%;margin:8px 0 12px}.legacy-examples{margin-top:20px;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:var(--muted)}.asset-upload{border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.asset-upload .field{display:block;width:100%;margin:8px 0 12px}.asset-upload h3{font-size:15px}.asset-upload #assetUploadStatus{font-size:12px;line-height:1.7;color:var(--primary)}.backup-button{white-space:normal}.maintenance-dialog input:disabled,.maintenance-dialog select:disabled,.maintenance-dialog textarea:disabled{opacity:1;color:var(--text);background:var(--soft)}
@media(max-width:670px){.topline{align-items:flex-start;flex-direction:column}.topline>.m-actions{width:100%}.topline .btn{white-space:normal}.maintenance-dialog{width:calc(100vw - 14px);max-height:calc(100dvh - 14px)}.attachments-grid{grid-template-columns:1fr}.m-entry{flex-direction:column}.m-entry .btn{min-height:42px}.maintenance-dialog .dialog-footer{position:sticky;bottom:0}.maintenance-dialog .form-actions{flex-direction:column}.m-stepbar{gap:4px}.m-step{font-size:10px;padding:7px}.m-stepbar .badge-status{margin-left:0}.attachment-card{padding:11px}.upload-row{align-items:flex-start;flex-direction:column}}

/* Correcciones solicitadas antes de R0.4. */
[hidden]{display:none!important}.sidebar-brand{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.brand-logo{width:180px;max-height:114px;object-fit:contain}.brand-by{font-size:10px;align-self:flex-end;color:var(--muted);margin-right:10px}.tenant-tile{flex-direction:column;gap:4px;text-align:center;padding:7px 10px 12px;margin-bottom:18px}.tenant-render{width:152px;height:104px;object-fit:contain}.tenant-tile strong{font-size:12px}.instrument-hero:not(:has(.qr-box)){grid-template-columns:220px minmax(0,1fr)}[data-theme=dark] .brand-logo{filter:drop-shadow(0 0 1px #fff)}@media(max-height:850px) and (min-width:801px){.brand-logo{max-height:67px}.tenant-render{height:67px}.sidebar{padding-top:15px}.sidebar-brand{padding-bottom:12px}.tenant-tile{margin-bottom:10px}.side-nav{gap:2px}.nav-button{padding-top:11px;padding-bottom:11px}}@media(max-width:800px){.instrument-hero:not(:has(.qr-box)){grid-template-columns:1fr}}
[data-theme=dark] .sidebar-brand{background:#fff;border-radius:10px;margin-bottom:12px;padding:8px 10px}.sidebar-brand .brand-by{color:#666}

.btn-danger{background:#ac2034;color:#fff;border:1px solid #ac2034}.btn-danger:hover{background:#8a1728}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.deletion-dialog{max-width:560px}.deletion-dialog .field{display:block;width:100%;margin:10px 0}.deletion-dialog p{line-height:1.65}.deletion-counts>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 0}.deletion-counts dd{margin:0;font-weight:700}.deletion-dialog .form-actions{flex-wrap:wrap}

/* Franja principal con la imagen de referencia sin alterar sus píxeles. */
.tenant-tile{background:transparent;border-color:transparent}.tenant-spacer{width:152px;height:104px;flex-shrink:0}
.banner-tank{position:relative;isolation:isolate;min-height:205px;background:linear-gradient(110deg,#30115e 0%,#5022a3 58%,#6850b5 100%);padding:32px 30px}
.banner-tank .banner-copy{position:relative;z-index:2;width:59%;max-width:640px;padding-right:12px}
.banner-tank h2{font-size:clamp(18px,1.65vw,25px);line-height:1.35;margin:9px 0 12px}
.banner-tank .eyebrow{color:#e7d9ff;letter-spacing:1.5px;font-size:10px}.banner-tank p{opacity:.88}
.banner-tank-visual{position:absolute;z-index:1;right:0;top:0;bottom:0;width:44%;overflow:hidden;pointer-events:none}
.banner-tank-visual img{display:block;height:100%;width:100%;object-fit:contain;object-position:right center;transform:translateX(13px) scale(1.02);transform-origin:right center}
.banner-tank-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#5022a3 0%,#5022a3 20%,#5022a300 36%)}
@media(min-width:1500px){.banner-tank{min-height:225px}}
@media(max-height:850px) and (min-width:801px){.tenant-spacer{height:67px}}
@media(max-width:1000px){.banner-tank{min-height:215px;padding:25px}.banner-tank .banner-copy{width:58%}.banner-tank h2{font-size:19px}.banner-tank-visual{width:46%}}
@media(max-width:560px){.banner-tank{min-height:350px;padding:24px 22px;align-items:flex-start}.banner-tank .banner-copy{width:100%;padding-right:0;max-width:none}.banner-tank h2{font-size:18px;max-width:300px}.banner-tank .eyebrow{font-size:9px}.banner-tank-visual{top:auto;height:165px;width:100%;right:-4px;bottom:0}.banner-tank-visual img{object-position:right bottom}.banner-tank-visual::after{background:linear-gradient(90deg,#402080 0%,#49238e 16%,#5022a300 34%)}.banner-tank p{max-width:245px}}
