/* Agbu Mail webmail — single stylesheet (light + dark).
   Warm ivory canvas, navy ink, editorial serif titles, hairline structure. */
:root{
  --bg:#f7f4ef;--side:#f1ede6;--panel:#fff;--panel-2:#fbf9f6;
  --ink:#031530;--ink-2:#2c3a50;--muted:#6b7485;--faint:#9aa1ac;
  --line:#e7e1d7;--line-2:#f0ebe3;
  --accent:#FD8127;--accent-ink:#c4540a;--accent-tint:#fdf1e6;--accent-tint-2:#fbe2cc;
  --navy:#031530;--on-navy:#fff;
  --ok:#2F6B4F;--ok-tint:#eaf3ee;
  --hover:#f6f2ec;--selected:#fdf3ea;
  --ring:0 0 0 1px #0315300d;
  --lift:0 1px 2px #0315300a,0 12px 32px -12px #0315301f;
  --display:'Instrument Serif','Iowan Old Style',Georgia,serif;
  --body:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --prefs-bg:#fff;--prefs-line:#e2dbd0;--prefs-ink:#031530;--prefs-muted:#6b7485;--prefs-active-bg:#031530;--prefs-active-ink:#fff;--prefs-hover:#c4540a;
  font-family:var(--body);color:var(--ink);background:var(--bg);font-size:16px;font-synthesis:none;
}
:root[data-theme="dark"]{
  --bg:#060d18;--side:#08111f;--panel:#0b1627;--panel-2:#0d192c;
  --ink:#eef2f8;--ink-2:#c9d3e1;--muted:#8f9db2;--faint:#65748a;
  --line:#1a283d;--line-2:#142134;
  --accent-ink:#ffa25c;--accent-tint:#2a1a0e;--accent-tint-2:#3b2412;
  --navy:#FD8127;--on-navy:#1b0b00;
  --ok:#7fd8ad;--ok-tint:#10291c;
  --hover:#0f1c30;--selected:#171a22;
  --ring:0 0 0 1px #ffffff0f;
  --lift:0 1px 2px #0008,0 16px 40px -12px #000a;
  --prefs-bg:#0b1627;--prefs-line:#22344d;--prefs-ink:#eef2f8;--prefs-muted:#8f9db2;--prefs-active-bg:#FD8127;--prefs-active-ink:#1b0b00;--prefs-hover:#ffb27a;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
::selection{background:#fd812740}
.i{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
kbd{font-family:var(--body);font-size:11px;font-weight:500;line-height:1;color:var(--faint);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:3px 6px;background:var(--panel)}

/* Layout */
.shell{display:flex;min-height:100vh}
aside{width:256px;flex-shrink:0;position:sticky;top:0;height:100vh;padding:22px 16px 18px;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}
main{flex:1;min-width:0;display:flex;flex-direction:column}
.scrim{display:none}

/* Sidebar */
.brand{display:flex;align-items:center;gap:10px;padding:4px 8px;color:var(--ink);text-decoration:none;font-family:'Bricolage Grotesque',var(--body);font-size:19px;font-weight:750;letter-spacing:-.035em}
.brandmark{display:block;width:30px;height:30px}
.brand-product{color:var(--accent-ink)}
.account{margin:22px 0 16px;display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:10px;border-radius:12px;background:var(--panel);box-shadow:var(--ring),0 1px 2px #03153008;transition:box-shadow .2s}
.account:hover{box-shadow:var(--ring),var(--lift)}
.account-text{min-width:0;flex:1}
.account strong{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account .chevrons{width:15px;height:15px;color:var(--faint)}
.avatar{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:.02em;color:#031530;background:linear-gradient(135deg,#f3e6d6,#e3cdb0);box-shadow:inset 0 0 0 1px #0315300f}
.avatar.small{width:32px;height:32px;font-size:11px}
.compose{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border-radius:11px;background:var(--navy);color:var(--on-navy);font-size:14px;font-weight:600;box-shadow:inset 0 1px 0 #ffffff1f,0 1px 2px #03153033,0 10px 24px -10px #031530aa;transition:transform .15s,box-shadow .2s}
.compose:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 #ffffff1f,0 1px 2px #03153033,0 14px 28px -10px #031530cc}
.compose kbd{margin-left:auto;background:#ffffff14;border-color:#ffffff2e;color:#ffffffb3}
.nav-label{font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--faint);margin:26px 10px 8px}
nav button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:9px 10px;margin:1px 0;font-size:14px;color:var(--ink-2);border-radius:9px;transition:background .15s,color .15s}
nav button:hover{background:var(--hover)}
nav button .i{color:var(--muted)}
nav button.active{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:var(--ring),0 1px 2px #0315300a}
nav button.active .i{color:var(--accent-ink)}
.nav-icon{display:contents}
.count{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.active .count{color:var(--accent-ink)}
.sidebar-bottom{margin-top:auto;padding-top:32px;display:grid;gap:4px}
.storage{padding:14px 12px;margin-bottom:6px;border-radius:12px;background:var(--panel);box-shadow:var(--ring);color:var(--muted);font-size:12px}
.storage>span{display:flex;justify-content:space-between}
.storage b{color:var(--ink);font-weight:600}
.storage>div{background:var(--line-2);height:4px;margin-top:10px;border-radius:4px;overflow:hidden}
.storage i{display:block;width:17%;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent),#E0A43A)}
.demo,.settings{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:9px;font-size:13px;color:var(--ink-2);text-decoration:none}
.demo:hover,.settings:hover{background:var(--hover)}
.demo .i{margin-left:auto;width:16px;height:16px;color:var(--faint)}
.settings .i{width:17px;height:17px;color:var(--muted)}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#28a477;box-shadow:0 0 0 3px #28a47726;flex-shrink:0}

/* Header */
header{height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 36px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:4}
.crumb{display:flex;gap:8px;align-items:center}
.crumb-sep{width:14px;height:14px;color:var(--faint)}
.crumb strong{font-weight:600;color:var(--ink)}
.header-right{display:flex;align-items:center;gap:16px}
.today{font-variant-numeric:tabular-nums}
.signout{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px;font-weight:500;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:7px 13px;background:var(--panel);transition:border-color .2s,color .2s}
.signout .i{width:15px;height:15px}
.signout:hover{color:var(--accent-ink);border-color:var(--accent-tint-2)}
.mobile-menu{display:none;width:36px;height:36px;border-radius:10px;place-items:center;color:var(--ink)}

/* Title row */
.mail-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:34px 36px 24px}
h1{font-family:var(--display);font-size:44px;font-weight:400;line-height:1;letter-spacing:-.015em;margin:0 0 10px;display:flex;align-items:center;gap:12px}
h1 span{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:0;color:var(--muted);background:var(--panel);box-shadow:var(--ring);border-radius:99px;padding:4px 10px}
.mail-top p{font-size:14px;color:var(--muted);margin:0}
.search{display:flex;gap:10px;align-items:center;width:320px;padding:10px 12px 10px 14px;border-radius:12px;background:var(--panel);box-shadow:var(--ring),0 1px 2px #03153008;color:var(--faint);transition:box-shadow .2s}
.search:focus-within{box-shadow:0 0 0 1px var(--accent),0 0 0 4px #fd812726}
.search input{border:0;outline:0;width:100%;font-size:14px;background:none;min-width:0;color:var(--ink)}
.search input::placeholder{color:var(--faint)}

/* Workspace */
.mail-workspace{margin:0 36px;display:flex;flex:1;border-radius:18px;overflow:hidden;background:var(--panel);box-shadow:var(--ring),var(--lift);min-height:620px}
.list-pane{width:380px;flex-shrink:0;border-right:1px solid var(--line);display:flex;flex-direction:column;background:var(--panel)}
.list-tabs{height:56px;padding:0 18px;display:flex;gap:22px;border-bottom:1px solid var(--line);align-items:stretch}
.list-tabs button{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:500;color:var(--muted);position:relative;white-space:nowrap}
.list-tabs button.active{color:var(--ink);font-weight:600}
.list-tabs button.active:after{content:'';position:absolute;bottom:-1px;height:2px;background:var(--accent);left:0;right:0;border-radius:2px}
.pill{font-size:11px;font-weight:600;color:var(--muted);background:var(--line-2);border-radius:99px;padding:2px 7px;font-variant-numeric:tabular-nums}
.list-tabs .sort{margin-left:auto;color:var(--muted)}
.list-tabs .sort:hover{color:var(--ink)}
.list-toolbar{height:44px;display:flex;align-items:center;gap:12px;padding:0 18px;color:var(--muted);border-bottom:1px solid var(--line-2);font-size:12px}
.list-toolbar label{display:flex}
.list-toolbar button{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--muted)}
.list-toolbar button:hover{background:var(--hover);color:var(--ink)}
.list-toolbar button:first-of-type{margin-left:auto}
.list-toolbar .i{width:17px;height:17px}
input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0;cursor:pointer}
#message-list{flex:1;padding:6px}
.message{position:relative;display:flex;gap:12px;padding:14px 14px 14px 16px;border-radius:12px;cursor:pointer;outline-offset:-2px;transition:background .15s}
.message+.message{margin-top:2px}
.message:hover{background:var(--hover)}
.message.selected{background:var(--selected)}
.message.selected:before{content:"";position:absolute;left:4px;top:16px;bottom:16px;width:3px;border-radius:3px;background:var(--accent)}
.message .avatar{width:36px;height:36px;font-size:11.5px}
.message-content{min-width:0;flex:1}
.message-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.sender{font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unread .sender,.unread .message-subject{font-weight:650}
.message-head time{margin-left:auto;font-size:11.5px;color:var(--faint);white-space:nowrap;font-variant-numeric:tabular-nums}
.unread .message-head time{color:var(--accent-ink);font-weight:600}
.unread-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;flex-shrink:0}
.message-subject{font-size:13px;font-weight:500;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}
.snippet{font-size:12.5px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.5}
.message-bottom{display:flex;margin-top:8px;align-items:center;gap:7px;min-height:18px}
.tag{font-size:11px;font-weight:500;padding:3px 8px;border-radius:99px;background:var(--line-2);color:var(--muted);display:inline-block}
.star{margin-left:auto;display:grid;place-items:center;color:var(--faint);transition:color .15s,transform .15s}
.star .i{width:16px;height:16px}
.star:hover{color:var(--ink);transform:scale(1.1)}
.star.on{color:#E0A43A}
.row-check{position:absolute;left:-2px;top:50%;transform:translateY(-50%);opacity:0}
.message:hover .row-check,.row-check:checked,.row-check:focus{opacity:1}
.list-footer{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--faint);padding:18px}
.list-footer .i{width:15px;height:15px;color:var(--ok)}

/* Reader */
.reader{flex:1;min-width:0;background:var(--panel)}
.reader-toolbar{height:56px;border-bottom:1px solid var(--line);padding:0 20px;display:flex;gap:4px;align-items:center;color:var(--muted)}
.reader-toolbar button{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;transition:background .15s,color .15s}
.reader-toolbar button:hover{background:var(--hover);color:var(--ink)}
.reader-toolbar .star.on{color:#E0A43A}
.reader-toolbar .star .i{width:18px;height:18px}
.toolbar-sep{width:1px;height:20px;background:var(--line);margin:0 8px}
.reader-toolbar .spacer{flex:1}
.reader-toolbar small{font-size:12px;color:var(--faint);margin-right:6px;font-variant-numeric:tabular-nums}
.reader-content{padding:40px 48px 48px;max-width:860px}
.reader h2{font-family:var(--display);font-size:36px;line-height:1.1;font-weight:400;letter-spacing:-.01em;margin:0 0 16px;color:var(--ink);text-wrap:balance}
.thread-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.thread-meta{display:flex;gap:14px;align-items:center;margin:28px 0 28px;padding:16px 0;border-block:1px solid var(--line-2)}
.thread-meta .avatar{width:42px;height:42px;font-size:13px}
.thread-meta strong{font-size:14px;font-weight:600;color:var(--ink)}
.thread-meta small{font-size:12px;line-height:1.55;color:var(--muted);display:block;margin-top:3px}
.thread-meta time{font-size:12px;color:var(--faint);margin-left:auto;white-space:nowrap;align-self:flex-start}
.mail-body{font-size:15px;line-height:1.8;color:var(--ink-2);overflow-wrap:anywhere}
.mail-body p{margin:0 0 18px}
.mail-body strong{font-weight:600;color:var(--ink)}
.attachment{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:12px;padding:12px 16px 12px 12px;width:max-content;max-width:100%;margin:24px 0}
.file-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:var(--accent-tint);color:var(--accent-ink)}
.attachment strong{font-size:13px;font-weight:600;display:block}
.attachment small{font-size:11.5px;color:var(--muted)}
.reply-prompt{display:block;width:100%;margin-top:32px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;color:var(--faint);font-size:14px;text-align:left;background:var(--panel-2);transition:border-color .2s,color .2s}
.reply-prompt:hover{border-color:var(--accent-tint-2);color:var(--muted)}
.reply-actions{display:flex;gap:10px;margin-top:14px}
.reply-actions button{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:9px 16px;color:var(--ink-2);transition:border-color .2s,background .2s}
.reply-actions button .i{width:16px;height:16px}
.reply-actions button:hover{border-color:var(--ink-2)}
.reply-actions button:first-child{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
.reply-actions button:first-child:hover{filter:brightness(1.1)}

/* Delivery status */
.delivery-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;line-height:1.2}
.delivery-pill.delivered{background:#e5f5ec;color:#236446}
.delivery-pill.pending{background:#fff4d8;color:#8a5a00}
.delivery-pill.failed{background:#ffe5e2;color:#a4261c}
.delivery-banner{margin:0 0 24px;padding:14px 16px;border:1px solid;border-radius:12px;display:grid;gap:4px;font-size:13px}
.delivery-banner span{line-height:1.5}
.delivery-banner.delivered{background:#f1faf5;border-color:#b9dfc9;color:#205c3e}
.delivery-banner.pending{background:#fff9e9;border-color:#ecd494;color:#754b00}
.delivery-banner.failed{background:#fff1ef;border-color:#efb1aa;color:#8b2119}
[data-theme="dark"] .delivery-pill.delivered{background:#10291c;color:#7fd8ad}
[data-theme="dark"] .delivery-pill.pending{background:#2c2208;color:#f3c34f}
[data-theme="dark"] .delivery-pill.failed{background:#34110e;color:#ff9b8f}
[data-theme="dark"] .delivery-banner.delivered{background:#0c1f16;border-color:#1d4a33;color:#9fe3c1}
[data-theme="dark"] .delivery-banner.pending{background:#1f1908;border-color:#4a3a10;color:#f3d27a}
[data-theme="dark"] .delivery-banner.failed{background:#260d0b;border-color:#5a221c;color:#ffb3a9}

/* Footer */
footer{font-size:12px;color:var(--faint);display:flex;justify-content:space-between;align-items:center;padding:18px 36px}
footer>span{display:inline-flex;align-items:center;gap:8px}

/* Dialogs */
dialog{border:0;border-radius:20px;padding:28px;width:min(620px,92vw);background:var(--panel);color:var(--ink);box-shadow:var(--ring),0 40px 100px -20px #03153066}
dialog::backdrop{background:#020c1d66;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.compose-heading{display:flex;align-items:center;justify-content:space-between}
.compose-heading h2{font-family:var(--display);font-size:30px;font-weight:400;margin:0}
.icon-button{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--muted)}
.icon-button:hover{background:var(--hover);color:var(--ink)}
.demo-note{font-size:13px;color:var(--muted);margin:6px 0 14px}
.form-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}
.form-row>span{min-width:56px}
.form-row input{border:0;outline:0;flex:1;min-width:0;padding:4px;background:transparent;color:var(--ink)}
textarea{width:100%;min-height:260px;border:0;outline:0;resize:vertical;padding:20px 0;line-height:1.75;font-size:15px;background:transparent;color:var(--ink)}
input::placeholder,textarea::placeholder{color:var(--faint)}
.compose-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--line-2)}
.send{background:linear-gradient(180deg,#ff9142,#f67517);border:1px solid #e56a12;border-radius:999px;padding:11px 20px;font-size:14px;font-weight:600;color:#1b0b00;box-shadow:inset 0 1px 0 #ffffff59,0 8px 20px -10px #fd8127aa}
.send:hover{background:linear-gradient(180deg,#ff9d55,#fd8127)}
.send:disabled{opacity:.6;cursor:progress}
.plain{font-size:13px;font-weight:500;color:var(--muted);padding:8px 12px;border-radius:999px}
.plain:hover{background:var(--hover);color:var(--ink)}
#info p{font-size:15px;line-height:1.7;color:var(--ink-2)}
#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,16px);opacity:0;pointer-events:none;background:#031530;color:#fff;border-radius:999px;padding:12px 22px;font-size:13.5px;font-weight:500;box-shadow:0 20px 40px -12px #03153080;transition:opacity .25s,transform .25s cubic-bezier(.2,.7,.2,1);z-index:20}
#toast.visible{opacity:1;transform:translate(-50%,0)}
[data-theme="dark"] #toast{background:#eef2f8;color:#031530}
.empty{padding:64px 28px;text-align:center;color:var(--muted);font-size:14px;line-height:1.6}
.empty strong{color:var(--ink)}
.empty .send{margin-top:4px}
.back{display:none!important}

[data-theme="dark"] .avatar{filter:saturate(.85) brightness(.9)}
[data-theme="dark"] .compose kbd{background:#1b0b0014;border-color:#1b0b0033;color:#1b0b00aa}
[data-theme="dark"] .star.on{color:#f3c34f}

/* Responsive */
@media(min-width:1600px){.list-pane{width:420px}.mail-workspace{min-height:760px}.reader-content{margin:0 auto}}
@media(max-width:1200px){
  aside{width:224px;padding:20px 12px}
  .list-pane{width:330px}
  .reader-content{padding:32px}
  .mail-workspace{margin:0 24px}
  .mail-top,header{padding-left:24px;padding-right:24px}
  footer{padding:16px 24px}
  .reader h2{font-size:32px}
}
@media(max-width:1000px){
  .list-pane{width:290px}
  .reader-content{padding:28px 24px}
  .thread-meta time{display:none}
  .today{display:none}
  .search{width:240px}
  h1{font-size:38px}
}
@media(max-width:800px){
  aside{position:fixed;z-index:30;inset:0 auto 0 0;width:272px;transform:translateX(-100%);transition:transform .3s cubic-bezier(.2,.7,.2,1);box-shadow:none}
  .nav-open aside{transform:none;box-shadow:20px 0 60px #020c1d40}
  .scrim{display:block;position:fixed;inset:0;z-index:25;background:#020c1d59;opacity:0;pointer-events:none;transition:opacity .3s}
  .nav-open .scrim{opacity:1;pointer-events:auto}
  .mobile-menu{display:grid}
  header{height:60px}
  .mail-top{padding-top:24px}
  .mail-top p{font-size:13px}
  .mail-workspace{min-height:calc(100vh - 230px)}
  .list-pane{width:100%;border:0}
  .reader{display:none}
  .reading .reader{display:block}
  .reading .list-pane{display:none}
  .back{display:grid!important}
  .mail-top .search{width:220px}
  .reader-content{padding:24px 22px}
  .reader h2{font-size:30px}
  .thread-meta time{display:block}
  footer>span:last-child{display:none}
}
@media(max-width:480px){
  .mail-top{flex-direction:column;align-items:stretch;gap:16px;padding:20px 16px 16px}
  .mail-top p{display:none}
  h1{font-size:34px;margin:0}
  .mail-top .search{width:100%}
  .mail-workspace{margin:0 12px;border-radius:14px}
  header{padding:0 12px}
  .crumb>span[data-i18n],.crumb-sep,#header-initials{display:none}
  .header-right{gap:8px}
  .signout span{display:none}
  .signout{padding:8px}
  .reader-toolbar{padding:0 10px}
  .reader-toolbar small{display:none}
  .thread-meta time{display:none}
  .reader-content{padding:22px 18px}
  .reader h2{font-size:27px}
  .compose-actions{gap:8px}
  dialog{padding:22px}
  footer{padding:14px 16px}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
