/* 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}}


/* NoirLux 2.3 | large, distraction-free reading & composing */
.content.nx-compose-content{
  max-width:none!important;width:100%!important;margin:0!important;padding:0!important;
  min-width:0;
}
.nx-compose-content .nx-composer:not(.is-expanded){
  width:100%!important;max-width:none!important;margin:0!important;align-self:stretch!important;
  min-height:calc(100dvh - 70px);background:#131411;border:0;
}
.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{
  min-height:max(480px,calc(100dvh - 395px));
}
.content:has(.nx-message-reader){max-width:none!important;width:100%!important;min-width:0;padding:20px clamp(15px,2vw,34px) 44px}
.nx-message-reader{max-width:none!important;width:100%!important;margin:0!important;min-width:0}
.nx-reader-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.nx-message-reader .card{min-width:0;border-radius:10px}
.nx-message-reader .message-body .mail-preview{width:100%;height:clamp(530px,73dvh,1200px);border:0;border-radius:5px}
/* Recipient disclosure */
.nx-composer .nx-recipient-entry{gap:10px}
.nx-recipient-toggles{display:flex;align-items:center;gap:4px;flex-shrink:0;border-left:1px solid #3a3a32;padding-left:10px}
.nx-composer .nx-recipient-toggle{background:transparent;border:1px solid transparent;color:#a9a99f;font:500 12px var(--sans);padding:7px 10px;border-radius:6px;cursor:pointer;min-height:32px}
.nx-composer .nx-recipient-toggle:hover,.nx-composer .nx-recipient-toggle.is-active{background:#29271e;color:var(--accent);border-color:#4c432b}
.nx-composer .nx-recipient-hide{background:transparent;color:#99968c;border:0;border-radius:5px;padding:8px;cursor:pointer}
.nx-composer .nx-recipient-hide:hover{color:var(--accent);background:#29271e}
.nx-composer .nx-extra-recipient{animation:nxRecipientIn .18s ease-out}
.nx-composer .nx-extra-recipient[hidden]{display:none!important}
@keyframes nxRecipientIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
/* Modern restrained surfaces, preserve user's custom instance accent. */
.nx-composer .compose-head{background:#161714;padding:19px clamp(16px,2vw,30px);border-bottom-color:#32342d}
.nx-composer .compose-head h2{font-size:21px;font-weight:600;letter-spacing:-.035em}
.nx-composer .compose-line{background:#141512;padding:8px clamp(16px,2vw,30px);border-bottom:1px solid #2e302a}
.nx-composer .compose-line>label{font:600 11px var(--sans);letter-spacing:0;text-transform:none;color:#b8b5a9}
.nx-composer .compose-line input{color:#f4f1e8;font-size:13px}
.nx-composer .compose-line input::placeholder{color:#77776f}
.nx-composer .composer-actions{background:#181916;border-bottom:0;padding:11px clamp(16px,2vw,30px)}
.nx-composer .nx-toolbar{background:#1b1c18;padding:8px clamp(9px,1.4vw,22px);border-color:#30312a}
.nx-composer .nx-tools-group{border-color:#34352f}
.nx-composer .nx-tools-group>button{border-radius:6px}
.nx-composer .nx-tools-group>button:hover{background:#303026}
.nx-composer .editor-tab{font-size:12px;border-radius:5px}
.nx-composer .nx-editor-surface{border-bottom-color:#363630}
.nx-composer .editor-area{padding:clamp(24px,3vw,46px)!important;background:#fff;outline:none}
.nx-composer .editor-area:empty::before{content:none!important}
.nx-composer .composer-footer{background:#161714;padding:13px clamp(16px,2vw,30px)}
.nx-composer .nx-editor-status{background:#161714;border-color:#30312a}
/* Readability and spacing without fake dashboard panels */
.nx-message-reader .message-head h1{font-weight:600;letter-spacing:-.03em}
.nx-message-reader .message-head{gap:15px;align-items:flex-start}
.nx-message-reader .recipient-details{border-color:#30312a}
.nx-message-reader .message-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:720px){
 .nx-recipient-toggles{padding-left:4px;gap:0}
 .nx-composer .nx-recipient-toggle{padding:6px;font-size:11px}
 .nx-composer .nx-pick-recipients span{display:none}
 .nx-composer .nx-recipient-entry{gap:4px}
 .nx-composer .compose-line{padding:8px 12px}
 .content:has(.nx-message-reader){padding:10px 9px 26px}
 .nx-message-reader .card{border-radius:7px;padding:13px}
}
@media(prefers-reduced-motion:reduce){.nx-composer .nx-extra-recipient{animation:none}}

/* NoirLux 2.5 reader refinements */
.content:has(.nx-message-reader){padding:0!important;max-width:none!important;width:100%!important}
.nx-message-reader{padding:18px clamp(14px,2.5vw,34px) 40px}
.nx-message-reader .card{width:100%;max-width:none;padding:clamp(18px,2vw,28px)}
.nx-message-reader .message-body{padding:20px 0;border-top:1px solid #30322a;border-bottom:1px solid #30322a}
.nx-message-reader .message-body .mail-preview{height:clamp(620px,78dvh,1320px)}
.nx-tree-empty{display:none!important}

/* NoirLux 2.6: collapsed archive/custom-folder branches must occupy no space. */
.nx-tree-branch.nx-animated-branch{
 display:grid;
 grid-template-rows:minmax(0,1fr);
 overflow:hidden;
 opacity:1;
 transition:grid-template-rows .29s cubic-bezier(.22,1,.36,1),opacity .22s ease,padding .29s ease;
}
.nx-tree-branch.nx-animated-branch.is-collapsed{
 grid-template-rows:minmax(0,0fr);
 opacity:0;
 padding-top:0;
 padding-bottom:0;
 pointer-events:none;
}
.nx-tree-branch-inner{
 min-height:0;
 overflow:hidden;
 display:flex;
 flex-direction:column;
 gap:1px;
}
@media (prefers-reduced-motion:reduce){
 .nx-tree-branch.nx-animated-branch{transition:none}
}
