/* NoirLux 1.7 | Composer workspace, nested folders, unified settings */
/* Mail Studio uses ALL available application space in normal mode. */
.content.nx-compose-content{
  width:100%;max-width:none;margin:0;padding:0;display:flex;flex-direction:column;
  min-width:0;
}
.nx-compose-content>.page-heading{display:none}
.nx-compose-content>.alert{margin:15px 18px}
.nx-compose-content .nx-composer:not(.is-expanded){
  width:100%!important;max-width:none!important;margin:0!important;
  display:flex;flex-direction:column;flex:1;min-width:0;
  min-height:calc(100dvh - 105px);border-left:0;border-right:0;
}
.nx-compose-content .nx-composer .nx-editor-surface{display:flex;flex-direction:column;flex:1;min-height:350px}
.nx-compose-content .nx-composer .nx-editor-surface .editor-area,
.nx-compose-content .nx-composer .nx-editor-surface .source-area,
.nx-compose-content .nx-composer .nx-editor-surface .mail-preview{
  flex:1;width:100%;min-height:clamp(350px,calc(100dvh - 455px),950px);
}
.nx-compose-content .nx-composer .nx-editor-surface>[hidden]{display:none!important}
.nx-compose-content .nx-composer.is-expanded{
  position:fixed!important;inset:0!important;width:100vw!important;
  height:100dvh!important;max-height:100dvh!important;max-width:100vw!important;
  display:flex!important;flex-direction:column!important;overflow:auto!important;
  border:0!important;margin:0!important;z-index:2000!important;
}
.nx-compose-content .nx-composer.is-expanded .nx-editor-surface{min-height:400px;flex:1}
.nx-compose-content .nx-composer.is-expanded .nx-editor-surface .editor-area,
.nx-compose-content .nx-composer.is-expanded .nx-editor-surface .source-area,
.nx-compose-content .nx-composer.is-expanded .nx-editor-surface .mail-preview{min-height:400px!important;height:auto!important;flex:1}
/* Accessible folder navigation. Child links are nested under their parent row. */
.sidebar .nx-mail-nav,.sidebar .nx-folder-tree{display:flex;flex-direction:column;gap:1px}
.nx-mail-nav .nx-tree-node,.nx-folder-tree .nx-tree-node{min-width:0}
.nx-mail-nav .nx-tree-line,.nx-folder-tree .nx-tree-line{display:flex;align-items:center;min-width:0;gap:0}
.nx-tree-toggle,.nx-tree-spacer{
  display:inline-flex;align-items:center;justify-content:center;
  width:23px;min-width:23px;min-height:33px;border:0;background:transparent;
  color:#a9a08e;padding:0;
}
.nx-tree-toggle{cursor:pointer}
.nx-tree-toggle:hover,.nx-tree-toggle:focus-visible{color:var(--accent);background:#302a1c;outline:1px solid #554b34}
.nx-tree-toggle i{font-size:10px;transition:transform .15s ease}
.nx-tree-toggle[aria-expanded="true"] i{transform:rotate(90deg)}
.sidebar a.nx-tree-link,.sidebar a.nx-tree-leaf{
  display:flex;align-items:center;gap:10px;flex:1;min-width:0;
  color:#c2bcac;background:transparent;min-height:35px;
  font:12px var(--sans);text-decoration:none;letter-spacing:0;
  border:1px solid transparent;padding:7px 8px;
}
.sidebar .nx-tree-link>i,.sidebar .nx-tree-leaf>i{color:#9d8b61;width:16px;text-align:center;font-size:12px;flex-shrink:0}
.sidebar .nx-tree-link>span,.sidebar .nx-tree-leaf>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar .nx-tree-link small,.sidebar .nx-tree-leaf small{
  font:10px var(--mono);color:#92886e;background:#242018;padding:2px 5px;
}
.sidebar a.nx-tree-link:hover,.sidebar a.nx-tree-leaf:hover,
.sidebar a.nx-tree-link.active,.sidebar a.nx-tree-leaf.active,
.sidebar a.nx-tree-link.is-drop-target{background:#2d271a;border-color:#5e5137;color:#f4ecd8}
.sidebar a.nx-tree-link.active>i,.sidebar a.nx-tree-leaf.active>i{color:var(--accent)}
.nx-tree-branch{display:flex;flex-direction:column;gap:1px;padding-left:16px;border-left:1px solid #50442b;margin-left:11px}
.nx-tree-branch[hidden]{display:none!important}
.nx-tree-branch .nx-tree-branch{margin-left:10px;padding-left:12px}
.nx-tree-branch .nx-tree-line{min-width:0}
.nx-month-branch{padding-top:2px;padding-bottom:5px}
.sidebar .nx-tree-leaf{font:11px var(--mono);padding:6px 6px;min-height:31px}
.nx-tree-empty{color:#8e8574;font:10px var(--mono);padding:6px 0}
.nx-settings-entry a{display:flex;align-items:center;gap:12px}
.nx-settings-entry a>i{color:var(--accent)}
/* Settings hub patterned after classic two-pane desktop mail clients. */
.content.nx-settings-content{max-width:none;margin:0;padding:0;flex:1}
.nx-settings-shell{display:grid;grid-template-columns:225px minmax(0,1fr);align-items:stretch;min-height:calc(100dvh - 115px)}
.nx-settings-sidebar{background:#171916;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:0 0 25px}
.nx-settings-sidebar-head{height:61px;display:flex;align-items:center;gap:11px;color:#d5d0bf;
  padding:0 18px;background:#1e2424;border-bottom:1px solid var(--line);font:600 11px var(--mono);letter-spacing:.08em}
.nx-settings-sidebar-head>i{font-size:15px;color:var(--accent)}
.nx-settings-sidebar>a{display:flex;align-items:center;gap:12px;min-height:45px;padding:10px 15px;
  color:#c4c9c9;text-decoration:none;border-left:3px solid transparent;border-bottom:1px solid #302f2b;font:12px var(--sans)}
.nx-settings-sidebar>a>i{font-size:14px;width:19px;text-align:center;color:#b8c4c8}
.nx-settings-sidebar>a:hover{background:#242d2c;color:#fff}
.nx-settings-sidebar>a.active{background:#303b3d;border-left-color:var(--accent);color:#fff}
.nx-settings-sidebar>a.active>i{color:var(--accent)}
.nx-settings-main{min-width:0;padding:30px clamp(18px,3vw,45px) 48px}
.nx-settings-main .page-heading{margin-bottom:20px}
.nx-settings-intro{border-left:2px solid var(--accent);padding:15px 19px;background:#1d1c16;
  color:#c7c0b2;line-height:1.65;font-size:13px;margin-bottom:19px}
.nx-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.nx-settings-tile{display:grid;grid-template-columns:35px minmax(0,1fr) 18px;column-gap:11px;row-gap:7px;
 padding:22px 17px;background:#161612;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#e2dfd4;text-decoration:none}
.nx-settings-tile:hover{background:#242017}
.nx-settings-tile>i:first-child{color:var(--accent);font-size:19px;grid-row:1/3;align-self:start}
.nx-settings-tile>strong{font-size:15px;font-weight:600}
.nx-settings-tile>small{grid-column:2;color:#b7aea0;font-size:11px;line-height:1.5}
.nx-settings-tile>.nx-tile-arrow{grid-column:3;grid-row:1/3;align-self:center;color:var(--accent);font-size:12px}
.nx-settings-main .nx-resource-layout{grid-template-columns:minmax(0,1fr)}
.nx-settings-main .nx-org-grid{grid-template-columns:minmax(0,1fr)}
.nx-settings-main .nx-resource-studio{min-width:0}
@media(max-width:1150px){.nx-settings-shell{grid-template-columns:190px minmax(0,1fr)}.nx-settings-sidebar>a{font-size:11px;padding:10px}}
@media(max-width:820px){.nx-settings-shell{grid-template-columns:1fr}.nx-settings-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.nx-settings-sidebar-head{grid-column:1/-1}.nx-settings-sidebar>a{min-height:43px}.nx-settings-main{padding:20px 14px}.nx-settings-grid{grid-template-columns:1fr}}
@media(max-width:580px){.nx-settings-sidebar>a{font-size:10px;gap:5px}.nx-compose-content .nx-composer .compose-line{padding:9px 12px}.nx-compose-content .nx-composer .compose-head{padding:13px}.nx-compose-content .nx-composer .nx-editor-surface .editor-area{padding:16px}}

/* v1.8 | adjustable, persisted writing width. The parent remains full-width. */
.nx-compose-content .nx-composer:not(.is-expanded){width:min(100%,var(--nx-writing-width,1120px))!important;max-width:none!important;margin-inline:auto!important;align-self:center}
.nx-compose-content[data-writing-size="fluid"] .nx-composer:not(.is-expanded){width:100%!important;align-self:stretch!important}
.nx-writing-switch{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);padding:3px;background:#12120f}
.nx-writing-switch>span{color:var(--muted);font:10px var(--mono);padding:0 7px;white-space:nowrap}
.nx-writing-size{border:1px solid transparent;background:transparent;color:#bfb8a6;padding:8px 10px;font:10px var(--mono);cursor:pointer;white-space:nowrap;transition:background .16s,border-color .16s,color .16s}
.nx-writing-size[aria-pressed="true"]{background:var(--accent);color:#17130a;border-color:var(--accent)}
.nx-writing-size:hover:not([aria-pressed="true"]){border-color:#766643;color:#eee5cf}
/* open/close uses measured free-height CSS grid animation rather than display:none jump */
.nx-tree-branch.nx-animated-branch{display:grid!important;grid-template-rows:1fr;overflow:hidden;opacity:1;visibility:visible;margin-top:0;padding-top:0;padding-bottom:0;transition:grid-template-rows .28s cubic-bezier(.22,.8,.22,1),opacity .20s ease,visibility .28s ease}
.nx-tree-branch.nx-animated-branch.is-collapsed{grid-template-rows:0fr;opacity:0;visibility:hidden}
.nx-tree-branch-inner{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:2px}
.nx-animated-branch.nx-month-branch>.nx-tree-branch-inner{padding-block:3px 6px}
.nx-tree-toggle i{transition:transform .28s cubic-bezier(.22,.8,.22,1)}
@media(max-width:900px){.nx-writing-switch>span{display:none}.nx-writing-size{padding:7px}}
@media(max-width:640px){.nx-writing-switch{width:100%;justify-content:center}.nx-composer .composer-insert-actions{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.nx-tree-branch.nx-animated-branch,.nx-tree-toggle i{transition:none!important}}
