/* Independent read-only phone preview. Load after the copied production stylesheet.
   Repeated .n-app raises specificity over existing :has(.n-home/.n-library) rules.
   No state, data, source file, desktop app, or backup-pair relationship changes here. */
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#edf2ec}
body .n-app.n-app{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:560px;min-height:100svh;margin:0 auto;background:#f5f6f3;color:#263b31;font:400 15px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.n-app.n-app *{box-sizing:border-box}
.n-app.n-app :is(p,small,strong,b,span,summary){overflow-wrap:anywhere}
.n-app.n-app :is(button,input,select,textarea){max-width:100%;font-family:inherit;touch-action:manipulation}
.n-app.n-app :is(input,select,textarea){font-size:16px;min-width:0}
.n-app.n-app :is(button,a){-webkit-tap-highlight-color:transparent}
.n-app.n-app :is(.n-btn,.n-link,.n-pills button,.n-actions button){min-height:44px}
.n-app.n-app [hidden]{display:none!important}

/* Header and five equal navigation targets. */
.n-app.n-app .n-sidebar{position:sticky;top:0;z-index:20;display:block;min-width:0;padding:12px 14px 10px;border:0;border-bottom:1px solid #dce4df;background:#eaf0e8}
.n-app.n-app .n-brand{gap:9px;min-width:0;min-height:40px;padding:0 86px 0 0;white-space:normal}
.n-app.n-app .n-brand>span{display:grid;place-items:center;flex:none;width:32px;height:36px;padding:0;border-radius:7px;background:#263b31;color:#fff;font-size:20px}
.n-app.n-app .n-brand>div{min-width:0}
.n-app.n-app .n-brand b{display:block;font-size:18px;line-height:1.3;font-weight:600;letter-spacing:0}
.n-app.n-app .n-brand small{display:block;margin-top:2px;font-size:12px;line-height:1.3;color:#697b71;white-space:normal}
.n-mobile-readonly-banner{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:5px 8px;border-radius:6px;background:#e6eefb;color:#285b9d;font-size:12px;line-height:1.3;font-weight:500;white-space:nowrap}
.n-sidebar .n-mobile-readonly-banner{position:absolute;right:14px;top:18px;max-width:84px}
.n-app.n-app .n-caption,.n-app.n-app .n-side-bottom{display:none}
.n-app.n-app .n-sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:10px 0 0}
.n-app.n-app .n-sidebar nav button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;padding:8px 3px;border:0;border-radius:7px;font-size:13px;line-height:1.35;font-weight:500;text-align:center;white-space:normal;color:#697b71;background:transparent}
.n-app.n-app .n-sidebar nav button.n-active{color:#285b9d;background:#dce8e3}

/* Common page geometry and long, saved paths. */
.n-app.n-app .n-main{width:100%;min-width:0;padding:18px 15px 28px}
.n-app.n-app #n-content{min-width:0;max-width:100%}
.n-app.n-app .n-snapshot{position:static;display:block;max-width:100%;min-height:0;margin:0 0 15px;padding:0;border:0;border-radius:0;background:none;color:#697b71;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.n-app.n-app .n-header{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.n-app.n-app .n-header h1{margin:0;font-size:25px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.n-app.n-app .n-header p{margin:7px 0 0;font-size:14px;line-height:1.55}
.n-app.n-app .n-eyebrow{display:none}
.n-app.n-app .n-header>button[data-back],.n-app.n-app .n-header>button[data-home]{min-height:44px;padding:9px 13px;font-size:14px;box-shadow:none}
.n-app.n-app :is(.n-muted,.n-scope,.n-partial-inline,.n-partial,.n-device-label,.n-directory-heading span){font-size:12px;line-height:1.55}
.n-app.n-app :is(.n-section,.n-detail-top,.n-location,.n-scope){min-width:0;padding:15px;border-radius:10px}
.n-app.n-app :is(.n-section h2,.n-section-head h2){font-size:18px}
.n-app.n-app :is(.n-path,.n-pathbar b,.n-issue-path,.n-crumb,.n-location p){overflow-wrap:anywhere;word-break:normal}
.n-app.n-app .n-actions{gap:8px;min-width:0}
.n-app.n-app .n-pills{gap:7px;margin:14px 0}
.n-app.n-app .n-pills button{padding:8px 10px;font-size:13px;line-height:1.4}
.n-app.n-app .n-search{display:flex;gap:8px;min-width:0}
.n-app.n-app .n-search input{flex:1;min-width:0;width:0;padding:11px 12px;font-size:16px}
.n-app.n-app .n-search button{flex:none;padding:9px 12px;font-size:14px}
.n-app.n-app .n-list-row{align-items:flex-start;flex-wrap:wrap;padding:14px;min-height:64px}
.n-app.n-app .n-list-row>span{min-width:0;max-width:100%}
.n-app.n-app .n-list-row strong{font-size:15px}
.n-app.n-app .n-list-row small{font-size:12px;line-height:1.5}
.n-app.n-app .n-list-row>b{font-size:13px}
.n-app.n-app :is(.n-empty,.n-fatal){padding:20px 15px}

/* Overview: keep all three storage groups and every capacity bucket. */
.n-app.n-app .n-home{max-width:100%;margin:0}
.n-app.n-app .n-home .n-header{margin-bottom:24px}
.n-app.n-app .n-home .n-home-grid{grid-template-columns:minmax(0,1fr);gap:34px}
.n-app.n-app .n-home .n-home-section-head{margin-bottom:14px}
.n-app.n-app .n-home .n-home-section-head h2{font-size:20px}
.n-app.n-app .n-home .n-home-entry{align-items:center;gap:9px;min-height:48px;margin-left:-6px;padding:6px;max-width:calc(100% + 6px)}
.n-app.n-app .n-home .n-home-name{font-size:20px;line-height:1.35}
.n-app.n-app .n-home .n-home-total{gap:5px;padding:5px 8px}
.n-app.n-app .n-home .n-home-total b{font-size:28px;line-height:1.05}
.n-app.n-app .n-home .n-home-total small{font-size:12px}
.n-app.n-app .n-home .n-home-open{gap:3px;font-size:12px}
.n-app.n-app .n-home .n-home-open>span{width:17px;height:17px;font-size:18px}
.n-app.n-app .n-home .n-home-section-body{grid-template-columns:minmax(0,1fr);gap:18px}
.n-app.n-app .n-home .n-home-block-title{gap:6px;min-height:0;margin-bottom:9px}
.n-app.n-app .n-home .n-home-block-title h3{font-size:14px}
.n-app.n-app .n-home .n-home-block-title small{font-size:12px;line-height:1.45}
.n-app.n-app .n-home .n-home-roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.n-app.n-app .n-home .n-home-role{height:81px;min-height:44px}
.n-app.n-app .n-home .n-home-role-label{min-height:30px;padding:6px 10px;font-size:13px;white-space:normal}
.n-app.n-app .n-home .n-home-role-value{padding:10px 11px;gap:5px}
.n-app.n-app .n-home .n-home-role-value b{font-size:23px}
.n-app.n-app .n-home .n-home-role-value small{font-size:12px}
.n-app.n-app .n-home :is(.n-home-array-capacities,.n-home-cap-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.n-app.n-app .n-home .n-home-array-capacities>span{min-height:47px;padding:10px;gap:6px}
.n-app.n-app .n-home .n-home-array-capacities>span>span{font-size:14px;white-space:normal}
.n-app.n-app .n-home .n-home-array-capacities b{font-size:18px}
.n-app.n-app .n-home .n-home-small .n-home-array-capacities>span{min-height:65px;padding:10px;gap:7px}
.n-app.n-app .n-home .n-home-small .n-home-array-capacities b{font-size:20px}
.n-app.n-app .n-home .n-home-cap-grid>div{min-height:43px;padding:9px 10px;gap:6px}
.n-app.n-app .n-home .n-home-cap-grid>div>span{font-size:13px;white-space:normal}
.n-app.n-app .n-home .n-home-cap-grid b{font-size:18px}
.n-app.n-app .n-home :is(.n-home-cap-pending,.n-home-array-cap-pending){grid-column:1/-1}
.n-app.n-app .n-home .n-home-status{gap:7px 13px;margin-top:15px;padding-top:12px;font-size:12px}
.n-app.n-app .n-home .n-home-status b{font-size:12px}
.n-app.n-app .n-home .n-home-condition-summary{gap:7px;margin-top:12px;font-size:12px}
.n-app.n-app .n-home .n-home-condition-summary>strong{flex-basis:100%;margin:0}
.n-app.n-app .n-home .n-home-condition{padding:5px 8px;font-size:12px}
.n-app.n-app .n-home .n-home-condition b{font-size:13px}

/* Library: two theme columns, then readable single-column material entries. */
.n-app.n-app .n-library{width:100%;max-width:100%;margin:0;font-size:15px}
.n-app.n-app .n-library h1{font-size:25px;line-height:1.3}
.n-app.n-app .n-library .ml-page-heading{margin-bottom:18px}
.n-app.n-app .n-library .ml-page-heading p{margin-top:7px;font-size:14px;line-height:1.5}
.n-app.n-app .n-library .ml-search{gap:8px;min-height:52px;margin-bottom:22px;padding:5px 6px 5px 12px}
.n-app.n-app .n-library .ml-search input{width:0;min-width:0;padding:8px 0;font-size:16px}
.n-app.n-app .n-library .ml-search button{min-height:42px;flex:none;padding:8px 11px;font-size:13px}
.n-app.n-app .n-library .ml-search>span{display:none}
.n-app.n-app .n-library .ml-section-heading{gap:6px;margin-bottom:10px}
.n-app.n-app .n-library .ml-section-heading h2{font-size:15px}
.n-app.n-app .n-library .ml-section-heading>span{font-size:12px}
.n-app.n-app .n-library .ml-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.n-app.n-app .n-library .ml-topic{min-height:78px;padding:12px;gap:7px}
.n-app.n-app .n-library .ml-topic strong{font-size:16px;line-height:1.4;white-space:normal}
.n-app.n-app .n-library .ml-topic small{font-size:12px;white-space:normal}
.n-app.n-app .n-library .ml-topic-arrow{font-size:17px}
.n-app.n-app .n-library .ml-topics{margin-bottom:24px}
.n-app.n-app .n-library .ml-results-heading{gap:10px;margin-bottom:12px}
.n-app.n-app .n-library .ml-results-heading>div:first-child{gap:8px}
.n-app.n-app .n-library .ml-results-heading h2{font-size:20px}
.n-app.n-app .n-library .ml-result-count{font-size:12px}
.n-app.n-app .n-library .ml-modes{gap:4px}
.n-app.n-app .n-library .ml-modes button{min-height:44px;padding:8px 10px;font-size:13px}
.n-app.n-app .n-library .ml-active-filter{gap:8px;font-size:13px}
.n-app.n-app .n-library .ml-active-filter button{min-height:44px;font-size:12px}
.n-app.n-app .n-library .ml-column-head{display:none}
.n-app.n-app .n-library .ml-material-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:0;padding:15px}
.n-app.n-app .n-library .ml-material-about{grid-column:1/-1}
.n-app.n-app .n-library .ml-material-title{font-size:17px;line-height:1.45;min-height:25px}
.n-app.n-app .n-library .ml-material-about p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:6px;white-space:normal;font-size:13px;line-height:1.55}
.n-app.n-app .n-library .ml-material-meta{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;font-size:13px}
.n-app.n-app .n-library .ml-material-meta small{display:inline;margin:0;font-size:12px}
.n-app.n-app .n-library .ml-devices{grid-column:1;gap:5px;align-self:center}
.n-app.n-app .n-library .ml-device{padding:4px 7px;font-size:12px}
.n-app.n-app .n-library .ml-location-toggle{grid-column:2;grid-row:3;min-height:44px;padding:8px 0;font-size:13px}
.n-app.n-app .n-library .ml-location-panel{padding:14px 12px}
.n-app.n-app .n-library .ml-location-heading{align-items:flex-start;gap:6px;margin-bottom:12px}
.n-app.n-app .n-library .ml-location-heading h3{font-size:14px}
.n-app.n-app .n-library .ml-location-heading span{font-size:12px;line-height:1.5}
.n-app.n-app .n-library .ml-location-cards{grid-template-columns:minmax(0,1fr);gap:10px}
.n-app.n-app .n-library .ml-location{padding:13px}
.n-app.n-app .n-library .ml-location strong{font-size:16px}
.n-app.n-app .n-library .ml-location small{font-size:12px}
.n-app.n-app .n-library .ml-path{font-size:13px;line-height:1.55}
.n-app.n-app .n-library .ml-location-facts{gap:6px 13px;font-size:12px}
.n-app.n-app .n-library .ml-location-state{gap:7px;align-items:flex-start}
.n-app.n-app .n-library .ml-location-state span{font-size:12px;line-height:1.45}
.n-app.n-app .n-library .ml-location-actions{gap:7px}
.n-app.n-app .n-library .ml-location-actions button{min-height:44px;padding:8px 10px;font-size:12px}
.n-app.n-app .n-library .ml-results-footer{align-items:flex-start;gap:12px;margin-top:15px;font-size:12px}
.n-app.n-app .n-library .ml-pager{margin-left:auto;gap:12px;font-size:13px}
.n-app.n-app .n-library .ml-pager button{width:44px;height:44px}
.n-app.n-app .n-library .ml-source-search{margin-top:22px;padding-top:15px;font-size:14px}
.n-app.n-app .n-library .ml-source-search>summary{font-size:13px;line-height:1.55}
.n-app.n-app .n-library .ml-source-search .n-list-row{padding:13px;gap:7px}

/* Device lists. A pair always has original on the left and backup on the right.
   Empty counterpart slots remain real empty slots. No order or grid-auto-flow swap. */
.n-app.n-app .n-cards{grid-template-columns:minmax(0,1fr);gap:12px}
.n-app.n-app .n-disk-pair-scroll{max-width:100%;overflow-x:visible}
.n-app.n-app .n-disk-pair-head{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;gap:9px;margin-bottom:10px;font-size:13px}
.n-app.n-app .n-disk-pair-head>span{padding:9px 10px;border-radius:6px;background:#e6eefb;color:#285b9d}
.n-app.n-app .n-disk-pair-head>span+span{background:#e9f2f0;color:#347878}
.n-app.n-app .n-disk-pairs{min-width:0;gap:12px}
.n-app.n-app .n-disk-pair-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0;align-items:stretch}
.n-app.n-app .n-disk-pair-space{display:block;min-width:0;border:0;background:transparent}
.n-app.n-app .n-device-card{padding:14px;gap:10px;min-width:0}
.n-app.n-app .n-device-card.n-disk-card{padding:0;gap:0;min-width:0}
.n-app.n-app .n-disk-card-content{padding:12px 10px;gap:9px;min-width:0;overflow-wrap:anywhere}
.n-app.n-app .n-disk-card-content .n-card-head{align-items:flex-start;flex-direction:column;gap:7px}
.n-app.n-app .n-disk-card-content .n-card-head>strong{font-size:20px;line-height:1.25}
.n-app.n-app .n-disk-card-content .n-role{font-size:12px;line-height:1.35;padding:4px 7px}
.n-app.n-app .n-disk-card-content .n-role.n-original{background:#e6eefb;color:#285b9d}
.n-app.n-app .n-disk-card-content .n-role.n-backup{background:#e9f2f0;color:#347878}
.n-app.n-app .n-disk-card-content p{min-height:0;margin:0;font-size:13px;line-height:1.5}
.n-app.n-app .n-disk-card-content p>strong{font-size:14px;line-height:1.5}
.n-app.n-app .n-disk-card-content p:not(:has(>strong)){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.n-app.n-app .n-disk-card-content small{font-size:12px;line-height:1.5}
.n-app.n-app .n-disk-card-content .n-cap-unknown{font-size:12px;line-height:1.5}
.n-app.n-app .n-disk-card-content .n-cap-meter{min-width:0}
.n-app.n-app .n-disk-card-content .n-cap-meter small{font-size:12px;line-height:1.5}
.n-app.n-app .n-disk-card-content .n-metrics{grid-template-columns:minmax(0,1fr);gap:7px}
.n-app.n-app .n-disk-card-content .n-metrics span{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:2px 6px;font-size:12px}
.n-app.n-app .n-disk-card-content .n-metrics b{font-size:13px;line-height:1.4}
.n-app.n-app .n-disk-card>.n-disk-condition-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;padding:10px;border-top-width:1px}
.n-app.n-app .n-disk-condition-row .n-condition-label{font-size:12px}
.n-app.n-app .n-condition-control{min-height:31px;padding:5px 8px;gap:5px;font-size:12px;white-space:normal}
.n-app.n-app .n-condition-control:disabled{opacity:1;cursor:default}
.n-app.n-app .n-condition-control>small{font-size:12px}
.n-app.n-app .n-metrics{min-width:0;gap:9px}
.n-app.n-app .n-metrics span{font-size:12px}
.n-app.n-app .n-metrics b{font-size:15px}

/* Device details and saved directory browser. */
.n-app.n-app .n-device-overview{grid-template-columns:minmax(0,1fr);gap:16px;padding:15px;margin-bottom:15px}
.n-app.n-app .n-device-about{gap:9px}
.n-app.n-app .n-device-about p{font-size:14px;line-height:1.6}
.n-app.n-app .n-device-storage{padding:13px}
.n-app.n-app .n-device-storage .n-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.n-app.n-app .n-device-storage .n-metrics span{min-width:0;font-size:12px}
.n-app.n-app .n-device-storage .n-metrics b{font-size:15px;overflow-wrap:anywhere}
.n-app.n-app .n-device-directory .n-directory-heading{gap:7px;margin-bottom:10px}
.n-app.n-app .n-device-directory .n-directory-heading h2{font-size:18px}
.n-app.n-app .n-pathbar{flex-direction:column;align-items:flex-start;gap:9px;padding:12px}
.n-app.n-app .n-pathbar b{font-size:14px;line-height:1.5}
.n-app.n-app .n-crumb{gap:7px;margin:12px 0;font-size:13px;line-height:1.5}
.n-app.n-app .n-crumb button{min-height:36px;text-align:left;overflow-wrap:anywhere}
.n-app.n-app .n-columns,.n-app.n-app .n-device-directory .n-columns{grid-template-columns:minmax(0,1fr);gap:11px}
.n-app.n-app .n-col,.n-app.n-app .n-device-directory .n-col{min-width:0;height:auto;max-height:370px;padding:0 10px 10px;overflow:auto;overscroll-behavior:contain}
.n-app.n-app .n-columns .n-col.n-current-col{max-height:440px}
.n-app.n-app .n-col h3,.n-app.n-app .n-device-directory .n-col h3{font-size:14px;padding:12px 3px 10px}
.n-app.n-app .n-dir-row{min-height:44px;padding:10px 4px;gap:9px;font-size:14px;line-height:1.5}
.n-app.n-app .n-dir-row small{font-size:12px}
.n-app.n-app .n-dir-row b{font-size:12px;white-space:normal}
.n-app.n-app .n-columns .n-inline-copy{font-size:12px;min-height:40px;padding:7px 4px}

/* Read-only device archive rows must remain visible when their edit button is disabled. */
.n-app.n-app .n-register-row{align-items:flex-start;flex-direction:column;gap:8px;padding:14px;font-size:14px;overflow-wrap:anywhere}
.n-app.n-app .n-register-row:disabled{opacity:1;color:inherit}
.n-app.n-app .n-register-row b{font-size:16px}
.n-app.n-app .n-register-row small{font-size:12px;line-height:1.5}
.n-app.n-app .n-form-grid{grid-template-columns:minmax(0,1fr);gap:12px}
.n-app.n-app .n-wide{grid-column:auto}
.n-app.n-app #review-form :is(input,select,textarea):disabled{opacity:1;color:#4e6056;background:#f3f6f1;-webkit-text-fill-color:#4e6056}

/* Two-disk comparison keeps source meanings in two columns, with verdict below. */
.n-app.n-app .n-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}
.n-app.n-app .n-selector label{min-width:0;gap:6px;font-size:13px}
.n-app.n-app .n-selector label:last-child{grid-column:2;grid-row:1}
.n-app.n-app .n-selector select{width:100%;min-width:0;min-height:44px;padding:9px 8px;font-size:15px}
.n-app.n-app .n-selector button[data-swap]{grid-column:1/-1;grid-row:2;min-height:44px}
.n-app.n-app .n-compare-head,.n-app.n-app .n-comparison-row{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;gap:10px}
.n-app.n-app .n-compare-head{font-size:14px;margin:16px 0 9px}
.n-app.n-app .n-compare-head>span:last-child{grid-column:1/-1;font-size:12px;color:#697b71}
.n-app.n-app .n-comparison{min-width:0;max-width:100%;overflow-x:auto}
.n-app.n-app .n-comparison-row{padding:13px;font-size:14px;line-height:1.5}
.n-app.n-app .n-comparison-row>div:last-child{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;border-top:1px solid #edf1ef;padding-top:9px}
.n-app.n-app .n-comparison-row small{font-size:12px}
.n-app.n-app .n-comparison-row .n-link{font-size:12px;padding:7px 0}

/* Planning views and narrow evidence panels. */
.n-app.n-app .n-issue-page-wrap{width:100%;min-width:0;max-width:100%}
.n-app.n-app .n-issue-categories{grid-template-columns:minmax(0,1fr);gap:9px}
.n-app.n-app .n-issue-categories>button{min-height:75px;padding:13px 14px}
.n-app.n-app .n-issue-categories>button b{font-size:16px}
.n-app.n-app .n-issue-categories>button small{font-size:12px}
.n-app.n-app .n-issue-intro{font-size:12px;line-height:1.6;padding:11px 12px}
.n-app.n-app .n-issue-toolbar{min-width:0;gap:10px}
.n-app.n-app .n-issue-search{width:100%;min-width:0;gap:7px}
.n-app.n-app .n-issue-search input{width:0;min-width:0;flex:1;min-height:44px;padding:10px;font-size:16px}
.n-app.n-app .n-issue-search button{min-height:44px;padding:9px 10px;font-size:13px}
.n-app.n-app .n-issue-workspace{grid-template-columns:minmax(0,1fr);min-width:0;gap:12px}
.n-app.n-app .n-issue-list{position:static;min-width:0}
.n-app.n-app .n-issue-list-scroll{max-height:330px;min-height:0;padding:7px;overscroll-behavior:contain}
.n-app.n-app .n-issue-list-head{gap:9px;padding:12px;font-size:14px}
.n-app.n-app .n-issue-row{min-height:60px;padding:11px}
.n-app.n-app .n-issue-row-top strong{font-size:14px;line-height:1.5}
.n-app.n-app .n-issue-row-top b{font-size:12px}
.n-app.n-app .n-issue-row>span:not(.n-issue-row-top),.n-app.n-app .n-issue-row>small{font-size:12px}
.n-app.n-app .n-issue-detail{min-width:0;padding:14px}
.n-app.n-app .n-issue-detail-top h2{font-size:21px;line-height:1.4}
.n-app.n-app .n-issue-detail-top p{font-size:12px;line-height:1.5}
.n-app.n-app :is(.n-issue-tag,.n-issue-summary span,.n-issue-notice,.n-issue-method,.n-issue-file-note,.n-issue-file-title span,.n-issue-location span,.n-issue-location small,.n-issue-page){font-size:12px}
.n-app.n-app .n-issue-branch{gap:8px;flex-wrap:wrap}
.n-app.n-app .n-issue-branch b,.n-app.n-app .n-issue-branch small{font-size:12px}
.n-app.n-app .n-issue-group{padding:11px;min-width:0}
.n-app.n-app .n-issue-group>div:first-child{gap:8px;flex-wrap:wrap}
.n-app.n-app .n-issue-group-location{gap:7px;flex-wrap:wrap;font-size:12px}
.n-app.n-app .n-issue-file{min-width:0;padding:11px}
.n-app.n-app .n-issue-path{min-width:0;gap:8px;flex-wrap:wrap}
.n-app.n-app .n-issue-path button{min-height:40px;font-size:12px}
.n-app.n-app table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.n-app.n-app :is(pre,code){max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}

/* Dialogs can still show existing information and copy fallback, but writes are
   independently blocked by the preview client and preview server. */
.n-overlay{padding:12px}
.n-dialog{width:100%;max-width:520px;max-height:calc(100svh - 24px);padding:18px;border-radius:11px}
.n-dialog header{align-items:flex-start;gap:12px}
.n-dialog h2{font-size:21px;line-height:1.4;overflow-wrap:anywhere}
.n-dialog :is(button,.n-btn,.n-link){min-height:44px;font-size:14px}
.n-dialog :is(input,select,textarea){font-size:16px;min-width:0}
.n-dialog :is(p,small){overflow-wrap:anywhere}

@media(max-width:350px){
 .n-app.n-app .n-main{padding-left:14px;padding-right:14px}
 .n-app.n-app .n-sidebar{padding-left:12px;padding-right:12px}
 .n-app.n-app .n-brand{padding-right:81px}
 .n-app.n-app .n-sidebar nav{gap:3px}
 .n-app.n-app .n-sidebar nav button{font-size:12px;padding-left:2px;padding-right:2px}
 .n-sidebar .n-mobile-readonly-banner{right:12px;max-width:78px;padding-left:6px;padding-right:6px}
 .n-app.n-app .n-disk-pair-head,.n-app.n-app .n-disk-pair-row{gap:7px}
 .n-app.n-app .n-disk-card-content{padding:11px 9px}
 .n-app.n-app .n-disk-card-content p:not(:has(>strong)){-webkit-line-clamp:2}
 .n-app.n-app .n-disk-card-content p>strong{font-size:14px}
 .n-app.n-app .n-disk-card>.n-disk-condition-row{padding:9px}
}
