:root{--ink:#1c2925;--muted:#70807a;--line:#e4e9e6;--paper:#fff;--wash:#f5f7f5;--green:#1c7357;--green-dark:#11523e;--green-soft:#e4f1eb;--amber:#b97216;--red:#b74242;--shadow:0 18px 55px #143d2c20;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--wash)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}.shell{height:100vh;display:grid;grid-template-columns:245px minmax(360px,460px) minmax(420px,1fr);background:var(--paper)}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef5f1,#f8f3e9)}.login-card{width:min(390px,100%);padding:36px;background:#fff;border-radius:18px;box-shadow:var(--shadow)}.login-card .brand-mark{margin-bottom:20px}.login-card h1{font:700 27px Georgia,serif;margin:0}.login-card>p{font-size:12px;color:var(--muted);margin:7px 0 25px}.login-card label{display:flex;flex-direction:column;gap:7px;margin-top:14px;color:#52615c;font-size:11px;font-weight:700}.login-card input{border:1px solid #dce3df;border-radius:9px;padding:11px;outline:0}.login-card input:focus{border-color:#81b39f;box-shadow:0 0 0 3px #1c735710}.login-card button{width:100%;border-radius:9px;padding:11px;margin-top:8px}
.sidebar{background:#173d32;color:#eef8f3;padding:25px 17px 18px;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f4c77c;color:#173d32;font:800 20px Georgia}.brand strong,.brand span{display:block}.brand strong{font-size:16px;letter-spacing:.2px}.brand span{color:#b9cdc5;font-size:11px;margin-top:3px;text-transform:uppercase;letter-spacing:1.2px}.primary{border:0!important;background:var(--green)!important;color:white!important;font-weight:700}.primary:hover{background:var(--green-dark)!important}.full{width:100%;border-radius:10px;padding:11px;margin-bottom:24px;background:#f1c67e!important;color:#183d32!important}.full:hover{background:#ffd590!important}
.admin-nav{width:100%;border:1px solid #ffffff20;background:#ffffff0b;color:#d8e8e1;border-radius:9px;padding:9px;margin:-13px 0 18px;text-align:left;font-size:12px}.admin-nav:hover{background:#ffffff16;color:white}
.account{margin-bottom:10px}.account-row{display:flex;align-items:center}.account-head{min-width:0;flex:1;border:0;background:transparent;color:inherit;display:flex;align-items:center;padding:10px 7px 10px 9px;border-radius:9px;text-align:left;gap:9px}.account-head:hover,.account-head.active{background:#ffffff12}.account-toggle{flex:0 0 25px;width:25px;height:31px;border:0;background:transparent;color:#8faea3;border-radius:7px;font-size:16px;transition:transform .15s,color .15s}.account-toggle:hover{background:#ffffff10;color:white}.account.collapsed .account-toggle{transform:rotate(-90deg)}.account.collapsed .account-details{display:none}.account-avatar{width:31px;height:31px;border-radius:9px;background:#31725e;display:grid;place-items:center;font-weight:800}.account-copy{min-width:0;flex:1}.account-copy strong,.account-copy span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.account-copy strong{font-size:13px}.account-copy span{font-size:11px;color:#b9cdc5;margin-top:2px}.status-dot{width:7px;height:7px;border-radius:50%;background:#68c997}.status-dot.error{background:#f17c72}.status-dot.syncing{background:#f5be58;animation:blink 1s infinite}.folders{padding:4px 0 5px 48px}.folder{display:flex;width:100%;border:0;background:transparent;color:#bed1ca;padding:6px 8px;border-radius:6px;font-size:12px;gap:5px}.folder:hover,.folder.active{color:white;background:#ffffff10}.folder span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder span:last-child{margin-left:auto;color:#87a59a}.account-actions{display:flex;gap:5px;padding:3px 9px 5px 48px}.account-actions button{background:none;border:0;color:#8faea3;font-size:11px;padding:2px}.account-actions button:hover{color:white}.sidebar-footer{margin-top:auto;border-top:1px solid #ffffff18;padding:16px 7px 0;display:flex;gap:8px;align-items:center;color:#a9c1b8;font-size:11px}.pulse{width:7px;height:7px;background:#65ce9b;border-radius:50%;box-shadow:0 0 0 4px #65ce9b20}
.signed-in{min-width:0;flex:1}.signed-in strong,.signed-in span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signed-in strong{font-size:10px;color:#dceae4}.signed-in span{font-size:9px;margin-top:3px}.sidebar-footer button{border:0;background:transparent;color:#a9c1b8;padding:4px;font-size:10px}.sidebar-footer button:hover{color:white}.mail-list-panel{height:100vh;min-width:0;min-height:0;overflow:hidden;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#fafbfa}.list-header{flex:0 0 auto;padding:23px 22px 15px;background:#fff;border-bottom:1px solid var(--line)}.search-wrap{height:40px;background:var(--wash);border:1px solid #e7ebe8;border-radius:11px;display:flex;align-items:center;padding:0 12px;gap:8px;color:#8a9691}.search-wrap:focus-within{border-color:#91bbaa;box-shadow:0 0 0 3px #1c735710}.search-wrap input{border:0;outline:0;background:transparent;width:100%;font-size:13px;color:var(--ink)}.title-row{display:flex;justify-content:space-between;align-items:end;margin-top:22px}.title-row h1{font:700 26px Georgia,serif;margin:0}.title-row p{font-size:11px;color:var(--muted);margin:5px 0 0}.list-actions{display:flex;align-items:center;gap:8px}.sort-control{height:35px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 9px;color:var(--muted);font-size:10px}.sort-control select{border:0;outline:0;background:transparent;color:#52615c;font-size:11px;cursor:pointer}.icon-button{border:1px solid var(--line);background:#fff;width:35px;height:35px;border-radius:9px;color:#66756f;font-size:18px}.icon-button:hover{background:var(--wash);color:var(--green)}#sync.syncing{animation:spin 1s linear infinite}.mobile-brand{display:none}
.user-page{height:100vh;overflow:auto;background:var(--wash)}.user-page-head{height:94px;display:flex;align-items:center;gap:16px;padding:0 max(24px,calc((100vw - 1050px)/2));background:#fff;border-bottom:1px solid var(--line)}.user-page-head h1{font:700 27px Georgia,serif;margin:0}.user-page-head p{font-size:12px;color:var(--muted);margin:5px 0 0}.user-page-body{width:min(1050px,calc(100% - 40px));margin:30px auto;display:grid;grid-template-columns:minmax(340px,430px) 1fr;gap:24px;align-items:start}.user-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:25px;box-shadow:0 7px 25px #143d2c0c}.user-card h2{font:700 21px Georgia,serif;margin:0 0 20px}.user-card select{border:1px solid #dce3df;border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink)}.account-grants{border:1px solid var(--line);border-radius:10px;margin:20px 0 0;padding:12px}.account-grants legend{padding:0 6px;color:#52615c;font-size:11px;font-weight:700}.account-grants label{display:flex;align-items:center;gap:8px;padding:7px 4px;font-size:12px}.account-grants input{accent-color:var(--green)}.user-list-heading{display:flex;justify-content:space-between;align-items:center}.user-list-heading span{color:var(--muted);font-size:11px}.user-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.user-row:first-child{border-top:0}.user-row .account-avatar{background:var(--green-soft);color:var(--green)}.user-row strong,.user-row span{display:block}.user-row strong{font-size:13px;overflow:hidden;text-overflow:ellipsis}.user-row span{font-size:11px;color:var(--muted);margin-top:3px}.role-badge{border-radius:99px;padding:5px 8px;background:#edf1ef;color:#53635d;font-size:9px!important;font-weight:800;letter-spacing:.5px}.role-badge.admin{background:#fff0d5;color:#8b5b16}.reset-user-password{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 8px;color:var(--green);font-size:10px}.reset-user-password:hover{background:var(--green-soft)}
.message-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.message{display:grid;grid-template-columns:38px 1fr auto;gap:10px;padding:17px 20px;border-bottom:1px solid var(--line);cursor:pointer;background:#fff;transition:.12s}.message:hover{background:#f7faf8}.message.selected{background:var(--green-soft);box-shadow:inset 3px 0 var(--green)}.avatar{width:36px;height:36px;border-radius:11px;background:#e5ece8;color:#416057;display:grid;place-items:center;font-size:12px;font-weight:800;text-transform:uppercase}.message.selected .avatar{background:#c9e3d6;color:var(--green-dark)}.message-main{min-width:0}.message-top{display:flex;align-items:center;gap:8px}.message-top strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.message-subject{font-size:13px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-preview{font-size:11px;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-meta{text-align:right;color:#87938e;font-size:10px;white-space:nowrap}.clip{margin-top:14px;font-size:13px}.empty{height:100%;min-height:250px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:13px;padding:40px}.pager{flex:0 0 48px;height:48px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:15px;background:#fff;color:var(--muted);font-size:11px}.pager button,.dialog-actions button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 11px;color:#52615c}.pager button:disabled{opacity:.35;cursor:default}
.reader{min-width:0;overflow:auto;background:#fff}.reader-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center}.reader-empty h2{font:700 21px Georgia;margin:14px 0 4px;color:#344640}.reader-empty p{font-size:12px}.envelope{width:62px;height:62px;border-radius:20px;background:var(--green-soft);display:grid;place-items:center;color:var(--green);font-size:28px}.reader-head{padding:31px 38px 22px;border-bottom:1px solid var(--line)}.reader-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.breadcrumb{font-size:11px;color:var(--green);font-weight:700}.reader-tools{display:flex;gap:7px}.reader-tools a,.reader-tools button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:white;color:#61706b;text-decoration:none}.reader-subject{font:700 27px/1.25 Georgia,serif;margin:0 0 24px}.sender-row{display:flex;gap:12px;align-items:center}.sender-row .avatar{width:42px;height:42px}.sender-details{min-width:0;flex:1}.sender-details strong,.sender-details span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sender-details strong{font-size:13px}.sender-details span{font-size:11px;color:var(--muted);margin-top:4px}.sent-time{font-size:10px;color:var(--muted);white-space:nowrap}.reader-body{padding:27px 38px 55px;font:14px/1.75 Georgia,serif;color:#34413d;white-space:pre-wrap;overflow-wrap:anywhere}.reader-frame{width:100%;min-height:600px;border:0;background:white}.attachments{padding:0 38px 24px}.attachments h3{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.attachment-list{display:flex;flex-wrap:wrap;gap:9px}.attachment{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--ink);font-size:11px}.attachment:hover{border-color:#9cc6b5;background:var(--green-soft)}
dialog{border:0;border-radius:16px;padding:0;width:min(540px,calc(100vw - 30px));box-shadow:var(--shadow);color:var(--ink)}dialog::backdrop{background:#102c2588;backdrop-filter:blur(3px)}#account-form,#password-form,#reset-password-form{padding:26px}.dialog-heading{display:flex;justify-content:space-between;align-items:start}.dialog-heading h2{font:700 24px Georgia;margin:0}.dialog-heading p{font-size:12px;color:var(--muted);margin:6px 0 23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px;color:#52615c;font-size:11px;font-weight:700}.form-grid input{border:1px solid #dce3df;border-radius:8px;padding:10px 11px;outline:0;color:var(--ink)}.form-grid input:focus{border-color:#81b39f;box-shadow:0 0 0 3px #1c735710}.form-grid .wide{grid-column:1/-1}.form-grid .checkbox{flex-direction:row;align-items:center;padding-top:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:23px;flex-wrap:wrap}.dialog-actions .primary{padding:8px 14px}.form-error{font-size:11px;color:var(--red);min-height:16px;margin-top:11px}.form-error.success{color:var(--green)}.toast{position:fixed;right:20px;bottom:20px;background:#173d32;color:white;padding:11px 15px;border-radius:9px;box-shadow:var(--shadow);font-size:12px;transform:translateY(80px);opacity:0;transition:.2s;z-index:5}.toast.show{transform:translateY(0);opacity:1}.scrim{display:none}
#attachment-dialog{width:min(1100px,calc(100vw - 36px));height:min(850px,calc(100vh - 36px));max-width:none;max-height:none;overflow:hidden;background:#eef1ef}.attachment-viewer-head{height:56px;padding:0 15px 0 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border-bottom:1px solid var(--line)}.attachment-viewer-head>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.attachment-viewer-head>div{display:flex;align-items:center;gap:8px}.viewer-download{border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--green);font-size:11px;font-weight:700;text-decoration:none}.viewer-download:hover{background:var(--green-soft)}.attachment-viewer{height:calc(100% - 56px);display:grid;place-items:center;overflow:auto}.pdf-viewer{width:100%;height:100%;border:0;background:#525659}.image-viewer{display:block;max-width:100%;max-height:100%;object-fit:contain;padding:18px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.35}}
@media(max-width:1000px){.shell{grid-template-columns:220px minmax(340px,420px) 1fr}.reader-head,.reader-body{padding-left:25px;padding-right:25px}}
@media(max-width:760px){body{overflow:hidden}.shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;z-index:4;transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.scrim.show{display:block;position:fixed;inset:0;background:#102c2570;z-index:3}.mail-list-panel{height:100vh;width:100%}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}.sort-control span{display:none}.reader{position:fixed;inset:0;z-index:2;transform:translateX(100%);transition:.2s}.reader.open{transform:none}.reader-toolbar:before{content:'‹';font-size:28px;cursor:pointer;margin-right:auto}.breadcrumb{display:none}.reader-tools{margin-left:8px}.reader-head{padding-top:18px}.reader-subject{font-size:23px}.message-list{padding-bottom:0}}
@media(max-width:760px){.user-page-head{padding:0 18px}.user-page-body{width:calc(100% - 24px);margin:12px auto;display:block}.user-card{margin-bottom:12px;padding:20px}.user-page .form-grid{grid-template-columns:1fr}.user-page .form-grid .wide{grid-column:auto}.user-page .form-grid>span{display:none}}
@media(max-width:760px){#attachment-dialog{width:100vw;height:100vh;border-radius:0}.attachment-viewer-head{padding-left:13px}.image-viewer{padding:8px}.viewer-download{padding:7px 9px}}
