@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap');
:root{--ink:#34304a;--muted:#89859f;--purple:#8d78e8;--pink:#f4b6d2;--mint:#c7eee1;--paper:#fff;--bg:#f7f5ff;--line:#eeeaf8;--shadow:0 18px 60px rgba(74,55,130,.10)}
*{box-sizing:border-box}body{margin:0;font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 20%,#fce2ef 0,transparent 28%),radial-gradient(circle at 90% 80%,#d9f7ed 0,transparent 28%),#f7f5ff}.login-card{width:min(100%,430px);background:rgba(255,255,255,.94);padding:42px;border:1px solid #fff;border-radius:30px;box-shadow:var(--shadow);text-align:center}.brand-mark{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 16px;border-radius:22px;background:linear-gradient(145deg,#e8ddff,#ffdced);font-size:32px;color:#7d68ce}.brand-mark.small{width:42px;height:42px;margin:0;border-radius:15px;font-size:24px;flex:none}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;color:#9b8bdc;margin:0 0 8px}.login-card h1,.topbar h1{font-size:30px;letter-spacing:-.8px;margin:4px 0}.login-card h1 span,.heart{color:#ed8eb9}.muted{color:var(--muted);font-size:14px}.stack{display:flex;flex-direction:column;gap:10px;text-align:left}.login-card .stack{margin-top:28px}.stack label{font-size:13px;font-weight:800;margin-top:5px}.stack input,.stack textarea,.search input{border:1px solid var(--line);border-radius:14px;padding:13px 15px;background:#fdfcff;color:var(--ink);outline:none;width:100%;min-width:0}.stack input:focus,.stack textarea:focus,.search input:focus{border-color:#b7a8f4;box-shadow:0 0 0 3px #eee9ff}.primary,.compose{border:0;background:var(--purple);color:white;border-radius:14px;padding:14px 18px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px #8d78e82b}.primary{margin-top:10px}.primary span{float:right}.footnote{font-size:11px;color:#aaa4bc;margin:24px 0 0}.alert{padding:13px 16px;border-radius:14px;background:#fff0f4;color:#a53e69;margin:12px 0;font-size:13px}.app-page{min-height:100vh;background:linear-gradient(130deg,#faf8ff,#f4fbf9)}.app-shell{min-height:100vh;display:grid;grid-template-columns:265px minmax(0,1fr)}.sidebar{background:rgba(255,255,255,.88);border-right:1px solid var(--line);padding:26px 18px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:900}.brand small{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-top:2px}.compose{text-align:center;display:block;padding:14px 10px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:12px 14px;border-radius:13px;color:#77728e;font-size:14px;font-weight:700}.sidebar nav a:hover,.sidebar nav a.active{background:#f0ebff;color:#735bd0}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:9px;padding:12px 4px;border-top:1px solid var(--line)}.avatar{width:35px;height:35px;border-radius:13px;background:#d9f5eb;display:grid;place-items:center;font-weight:900;color:#398d78;flex:none}.user-mail{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.sidebar-bottom>a{color:var(--muted);font-size:20px}.main{padding:36px clamp(18px,4vw,60px);min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.topbar h1{font-size:29px}.search{display:flex;align-items:center;width:min(340px,45%);background:white;border:1px solid var(--line);border-radius:15px;padding:3px 5px 3px 12px}.search input{border:0;background:transparent;padding:9px 5px}.search button{border:0;background:#eee9ff;color:#745dd1;border-radius:11px;padding:8px 12px;font-size:20px}.mail-list,.message-card{background:white;border:1px solid #f0edf8;border-radius:22px;box-shadow:0 10px 35px rgba(74,55,130,.045);overflow:hidden}.list-heading{padding:18px 22px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}.mail-row{display:grid;grid-template-columns:minmax(120px, .8fr) minmax(120px,1.5fr) minmax(90px,.7fr);gap:15px;padding:17px 22px;border-bottom:1px solid #f5f2fb;font-size:13px;align-items:center}.mail-row:last-child{border:0}.mail-row:hover{background:#fcfaff}.mail-row.unread{background:#fbf9ff;font-weight:800}.sender,.subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date{text-align:right;color:var(--muted);font-size:11px;font-weight:500}.empty{text-align:center;padding:70px 15px}.empty>div{font-size:42px}.empty h2{font-size:20px}.empty p{color:var(--muted);font-size:13px}.main footer{text-align:center;color:#aaa4bc;font-size:11px;margin:26px 0}.message-card{padding:26px;margin-top:18px}.message-actions{display:flex;gap:10px;margin-bottom:22px}.secondary{border:1px solid var(--line);padding:9px 14px;border-radius:12px;font-size:13px;font-weight:800;color:#7564bd;background:#fff}.message-card h1{font-size:23px;overflow-wrap:anywhere}.message-card hr{border:0;border-top:1px solid var(--line);margin:20px 0}.message-body{font:14px/1.8 Nunito, sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;color:#514d66}.back-link{color:#7868c1;font-size:13px;font-weight:800}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px}.form-actions .primary{margin:0}textarea{resize:vertical;line-height:1.7}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:12px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:16px}.brand small{display:none}.sidebar .compose{padding:11px 12px;font-size:12px}.sidebar nav{grid-column:1/-1;display:flex;gap:4px;overflow:auto;padding-bottom:3px}.sidebar nav a{white-space:nowrap;padding:9px 11px;font-size:12px}.sidebar-bottom{display:none}.main{padding:22px 14px}.topbar{align-items:flex-start;flex-direction:column}.search{width:100%}.mail-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:14px}.sender{grid-column:1}.subject{grid-column:1}.date{grid-column:2;grid-row:1/3;align-self:center;max-width:110px}.list-heading{padding:15px}.login-card{padding:30px 22px}.message-card{padding:18px}.topbar h1{font-size:25px}}
