:root{--bg: #eef2f6;--panel: #ffffff;--panel-strong: #f8fafc;--line: #d7dee8;--line-soft: #e8edf3;--text: #182233;--muted: #6b7788;--faint: #95a1af;--accent: #18a058;--accent-dark: #107a42;--accent-soft: #e5f7ed;--blue: #2563eb;--amber: #d97706;--danger: #dc2626;--shadow: 0 12px 28px rgba(24, 34, 51, .12);font-family:Inter,Pretendard,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;min-height:100%;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow:hidden}.auth-shell{min-height:100vh;min-height:100dvh}.auth-page{display:flex;align-items:center;justify-content:center;width:100%;min-height:100vh;min-height:100dvh;padding:24px;background:#fff}.auth-card{width:min(100%,420px);display:grid;gap:20px}.auth-brand{display:grid;justify-items:center;gap:14px;text-align:center}.auth-logo{width:72px;height:72px;object-fit:contain}.auth-brand h1{margin:0;color:var(--text);font-size:30px;line-height:1.15;letter-spacing:0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:8px;background:var(--panel-strong)}.auth-tabs button{min-height:38px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-weight:800}.auth-tabs button.is-active{background:#fff;color:var(--accent-dark);box-shadow:0 1px 4px #1822331f}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px}.auth-form span{color:var(--muted);font-size:13px;font-weight:700}.auth-form input,.auth-form textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;outline-color:var(--accent);background:#fff}.auth-form textarea{min-height:88px;resize:vertical}.account-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.account-input input{border:0;border-radius:0;outline:0}.account-input input:focus{outline:2px solid var(--accent);outline-offset:-2px}.account-input em{padding:0 12px;color:var(--muted);font-style:normal;font-size:13px;font-weight:800;white-space:nowrap}.auth-form button{min-height:44px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:900}.auth-form p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.sidebar{min-height:0;height:100%;overflow:auto;display:flex;flex-direction:column;gap:18px;padding:18px 14px;background:#fff;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;min-height:48px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}.brand-logo{width:40px;height:40px;object-fit:contain;border-radius:8px}.brand-name{font-size:18px;font-weight:800}.brand-sub{color:var(--muted);font-size:12px}.compose-actions{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px}.compose-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:800;box-shadow:0 8px 18px #18a0583d}.compose-button:hover{background:var(--accent-dark)}.compose-self-button{min-height:44px;border:1px solid #b8e7cb;border-radius:8px;background:var(--accent-soft);color:var(--accent-dark);font-weight:900}.compose-self-button:hover{border-color:var(--accent);background:#d8f4e5}.folder-list{display:grid;gap:4px}.utility-list{padding-top:12px;border-top:1px solid var(--line-soft)}.folder-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--text);text-align:left}.folder-item:hover,.folder-item.is-active{background:var(--accent-soft)}.folder-item.is-active{color:var(--accent-dark);font-weight:800}.folder-dot{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--panel-strong);color:var(--muted);font-size:11px;font-weight:800}.folder-item.is-active .folder-dot{background:#c8f0d9;color:var(--accent-dark)}.folder-item strong{color:var(--muted);font-size:12px}.list-toolbar button,.reader-actions button{min-height:32px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text)}.workspace{min-width:0;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.topbar{flex:0 0 auto;display:flex;align-items:center;gap:14px;height:64px;padding:12px 18px;background:#fff;border-bottom:1px solid var(--line)}.search-box{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;width:min(640px,56vw);height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong)}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--text)}.icon{color:var(--muted);font-weight:800}.top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.icon-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text)}.icon-button.is-active{color:#fff;background:var(--text)}.profile-chip{display:flex;align-items:center;max-width:240px;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--text);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{height:36px;padding:0 12px;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:var(--danger);font-weight:800}.mail-layout{display:grid;grid-template-columns:minmax(380px,520px) minmax(0,1fr);min-height:0;flex:1;overflow:hidden}.message-column{min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fff}.list-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 14px;border-bottom:1px solid var(--line-soft)}.checkbox-label{display:grid;place-items:center;width:28px}.result-count{margin-left:auto;color:var(--muted);font-size:13px}.message-list{min-height:0;flex:1;overflow:auto}.message-row{display:grid;grid-template-columns:30px 24px minmax(92px,132px) minmax(0,1fr) auto auto 64px;align-items:center;gap:8px;width:100%;min-height:76px;padding:10px 14px;border:0;border-bottom:1px solid var(--line-soft);background:#fff;color:var(--text);text-align:left}.message-row:hover,.message-row.is-selected{background:#f3f8fb}.message-row.is-selected{box-shadow:inset 3px 0 0 var(--accent)}.message-row.is-unread .sender,.message-row.is-unread .subject{font-weight:900}.row-check{display:grid;place-items:center}.star{color:#c4ccd7;font-size:16px}.star.is-on{color:var(--amber)}.sender{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-line{min-width:0;display:grid;gap:3px}.subject,.preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview{color:var(--muted);font-size:13px}.row-labels{display:flex;gap:4px}.label-chip,.reader-labels span{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:999px;background:#e8f0ff;color:#1d4ed8;font-size:12px;font-weight:700}.thread-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:12px;font-weight:800;white-space:nowrap}.attach,.message-row time{color:var(--muted);font-size:12px}.reader{min-width:0;min-height:0;overflow:auto;background:var(--panel-strong)}.receipt-page,.feature-page,.admin-page{min-height:0;overflow:auto;flex:1;padding:24px;background:var(--panel-strong)}.feature-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.feature-head h1{margin:3px 0 0;font-size:28px;line-height:1.2;letter-spacing:0}.feature-head button{min-height:36px;padding:0 14px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}.inline-loading{display:flex;align-items:center;min-height:36px;margin:-4px 0 14px;padding:0 12px;border:1px solid var(--line-soft);border-radius:8px;background:#fff;color:var(--muted);font-size:13px;font-weight:800}.contact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.contact-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr) auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--line-soft);border-radius:8px;background:#fff}.contact-form label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.contact-form input,.contact-form textarea{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:7px;color:var(--text)}.contact-form textarea{min-height:82px;padding-top:10px;resize:vertical}.contact-form button{min-height:40px;padding:0 16px;border:0;border-radius:7px;background:var(--accent);color:#fff;font-weight:800}.contact-group-form{grid-template-columns:minmax(180px,.8fr) minmax(0,1.4fr) auto;margin-bottom:12px}.contact-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:16px}.contact-group-card{display:grid;gap:6px;padding:14px;border:1px solid #b8e7cb;border-radius:8px;background:var(--accent-soft)}.contact-group-card span,.contact-group-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-dark)}.capability-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.capability-card{display:grid;align-content:start;gap:8px;min-height:140px;padding:18px;border:1px solid var(--line-soft);border-radius:8px;background:#fff}.capability-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.capability-card strong{font-size:16px}.capability-card p{margin:0;color:var(--muted);line-height:1.5}.feature-status-summary{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.feature-status-summary span,.feature-status{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:#fff;color:var(--muted);font-size:12px;font-weight:800}.feature-status-summary strong{margin-right:4px;color:var(--text)}.feature-status.is-connected{background:#dcfce7;color:#166534}.feature-status.is-partial{background:#dbeafe;color:#1d4ed8}.feature-status.is-planned{background:#f1f5f9;color:#64748b}.feature-backend{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding-top:4px;border-top:1px solid var(--line-soft)}.feature-backend span{color:var(--accent-dark);font-size:13px;font-weight:800}.feature-backend button{min-height:30px;padding:0 10px;border:1px solid #b8e7cb;border-radius:7px;background:var(--accent-soft);color:var(--accent-dark);font-weight:800}.feature-endpoints{display:flex;flex-wrap:wrap;gap:6px}.feature-endpoints code{padding:4px 6px;border-radius:6px;background:var(--panel-strong);color:#334155;font-size:11px}.contact-card{display:grid;gap:6px;padding:18px;border:1px solid var(--line-soft);border-radius:8px;background:#fff}.contact-card span,.contact-card small{color:var(--muted)}.settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.settings-tabs,.settings-panel,.admin-card{border:1px solid var(--line-soft);border-radius:8px;background:#fff}.settings-tabs{display:grid;align-content:start;gap:4px;padding:10px}.settings-tabs button{min-height:38px;border:0;border-radius:7px;background:transparent;text-align:left;color:var(--text)}.settings-tabs button.is-active{background:var(--accent-soft);color:var(--accent-dark);font-weight:800}.settings-panel{padding:18px}.setting-list{display:grid;gap:10px}.settings-note{margin:0 0 4px;padding:12px 14px;border:1px solid #b8e7cb;border-radius:8px;background:var(--accent-soft);color:var(--accent-dark);line-height:1.5}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;padding:0 12px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel-strong)}.setting-row span{display:grid;gap:3px}.setting-row small{color:var(--muted);font-size:12px}.setting-list>button{justify-self:end;min-height:36px;padding:0 14px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}.spam-filter-settings,.security-policy-settings{gap:18px}.spam-policy-section{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line-soft)}.spam-policy-section:first-of-type{padding-top:0;border-top:0}.spam-policy-section h2{margin:0;color:var(--text);font-size:16px;line-height:1.3;letter-spacing:0}.spam-policy-summary{display:flex;align-items:center;justify-content:space-between;gap:14px}.spam-policy-summary strong{font-size:17px}.spam-policy-summary span,.settings-actions span{color:var(--muted);font-size:13px;line-height:1.45}.spam-switches,.spam-score-grid,.spam-list-grid{display:grid;gap:10px}.spam-score-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.spam-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spam-field{display:grid;gap:7px;min-width:0}.spam-field span{display:grid;gap:3px;color:var(--text);font-weight:800}.spam-field small{color:var(--muted);font-size:12px;font-weight:600}.spam-field input,.spam-field select,.spam-field textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;outline-color:var(--accent);background:#fff;color:var(--text)}.spam-field input,.spam-field select{min-height:40px;padding:8px 10px}.security-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.security-env-list{display:flex;flex-wrap:wrap;gap:8px}.security-env-list code{padding:7px 9px;border-radius:7px;background:var(--panel-strong);color:#334155;font-size:12px}.spam-field textarea{min-height:116px;padding:10px;resize:vertical;line-height:1.45}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid var(--line-soft)}.settings-actions button{flex:0 0 auto;min-height:36px;padding:0 14px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}.admin-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:14px}.admin-card{overflow:hidden}.admin-card.wide{min-width:0;grid-column:1 / -1}.admin-card header{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:0 16px;border-bottom:1px solid var(--line-soft)}.admin-card h2{margin:0;font-size:17px;letter-spacing:0}.admin-card header span{color:var(--muted);font-size:13px}.admin-table{display:grid}.admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:12px 16px;border-bottom:1px solid var(--line-soft)}.admin-row:last-child{border-bottom:0}.admin-row span,.admin-row small{display:block;margin-top:3px;color:var(--muted)}.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.row-actions button{min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#fff}.row-actions button:first-child{border-color:#b8e7cb;background:var(--accent-soft);color:var(--accent-dark);font-weight:800}.row-actions button.danger-button{border-color:#fecaca;background:#fff1f2;color:var(--danger);font-weight:800}.user-state-cell{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.audit-list{display:grid;gap:10px;margin:0;padding:16px 18px 18px 32px;color:var(--muted)}.empty-line{padding:18px;color:var(--muted)}.receipt-head{display:flex;justify-content:space-between;gap:18px;padding:22px;border:1px solid var(--line-soft);border-radius:8px;background:#fff}.receipt-head h1{margin:2px 0 8px;font-size:28px;line-height:1.2;letter-spacing:0}.receipt-head p{margin:0;color:var(--muted)}.eyebrow{color:var(--accent-dark)!important;font-size:13px;font-weight:800}.receipt-summary{display:grid;grid-template-columns:repeat(3,92px);gap:8px;align-items:center}.receipt-summary div{display:grid;place-items:center;gap:4px;min-height:76px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel-strong)}.receipt-summary strong{font-size:24px}.receipt-summary span{color:var(--muted);font-size:12px}.receipt-workspace{display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr);gap:14px;margin-top:16px}.receipt-sent-list,.receipt-detail{min-width:0}.receipt-sent-list{display:grid;align-content:start;gap:8px}.receipt-mail-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 58px;align-items:center;gap:10px;min-height:70px;width:100%;padding:12px 14px;border:1px solid var(--line-soft);border-radius:8px;background:#fff;color:var(--text);text-align:left}.receipt-mail-row.is-selected{border-color:#9dddb8;background:var(--accent-soft)}.receipt-mail-row span{display:grid;gap:4px;min-width:0}.receipt-mail-row strong,.receipt-mail-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-mail-row small{color:var(--muted);font-size:12px}.receipt-mail-row em,.receipt-mail-row b{justify-self:end;font-style:normal;font-size:13px}.receipt-mail-row em{color:var(--muted)}.receipt-mail-row b{color:var(--accent-dark)}.receipt-card{overflow:hidden;border:1px solid var(--line-soft);border-radius:8px;background:#fff}.receipt-card header{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line-soft)}.receipt-card h2{margin:0 0 4px;font-size:18px;letter-spacing:0}.receipt-card time,.receipt-card header span,.receipt-row span,.receipt-row time{color:var(--muted);font-size:13px}.receipt-table{display:grid}.receipt-row{display:grid;grid-template-columns:minmax(0,1fr) 86px 160px;align-items:center;gap:12px;min-height:56px;padding:10px 18px;border-bottom:1px solid var(--line-soft)}.receipt-row:last-child{border-bottom:0}.receipt-row strong{display:block;margin-bottom:3px}.receipt-status{display:inline-flex;justify-content:center;min-height:26px;padding:4px 9px;border-radius:999px;font-weight:800}.receipt-status.is-read{background:#dcfce7;color:#166534}.receipt-status.is-delivered{background:#dbeafe;color:#1d4ed8}.receipt-status.is-unread{background:#f1f5f9;color:#64748b}.receipt-status.is-withdrawn{background:#fee2e2;color:#b91c1c}.reader-head{display:flex;justify-content:space-between;gap:16px;padding:24px 28px 16px;background:#fff;border-bottom:1px solid var(--line-soft)}.reader-head h1{margin:8px 0 0;font-size:clamp(20px,2vw,28px);line-height:1.25;letter-spacing:0}.reader-labels{display:flex;gap:6px;min-height:22px}.reader-actions{display:flex;gap:6px;align-items:flex-start}.sender-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 28px;background:#fff;border-bottom:1px solid var(--line-soft)}.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dff4e8;color:var(--accent-dark);font-weight:900}.sender-card span,.sender-card time{display:block;margin-top:3px;color:var(--muted);font-size:13px}.attachment-list{margin:16px 28px 0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.attachment-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:10px 14px;border-bottom:1px solid var(--line-soft);background:#fbfcfe}.attachment-list-head div{display:grid;gap:3px;min-width:0}.attachment-list-head strong{font-size:14px}.attachment-list-head span,.attachment-meta{color:var(--muted);font-size:12px}.attachment-rows{display:grid}.attachment-row{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(170px,auto) 104px;align-items:center;gap:10px;min-height:44px;padding:0 10px 0 14px;border-bottom:1px solid var(--line-soft)}.attachment-row:last-child{border-bottom:0}.attachment-type{display:inline-grid;place-items:center;min-height:24px;border-radius:6px;background:#eef6f2;color:var(--accent-dark);font-size:11px;font-weight:900}.attachment-type.is-large{background:#fff7ed;color:#c2410c}.attachment-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.attachment-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.attachment-download-button,.attachment-download-all{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:7px;text-decoration:none;font-size:13px;font-weight:900}.attachment-download-button{border:1px solid var(--accent);background:var(--accent);color:#fff}.attachment-download-all{flex:0 0 auto;border:1px solid #b8e7cb;background:var(--accent-soft);color:var(--accent-dark)}.attachment-download-button:hover{background:var(--accent-dark)}.attachment-download-all:hover{border-color:var(--accent)}.mail-body{margin:18px 28px;padding:26px;border:1px solid var(--line-soft);border-radius:8px;background:#fff;color:#253044;line-height:1.7}.quick-reply{display:grid;gap:10px;margin:18px 28px 28px}.quick-reply textarea,.compose-body{width:100%;resize:vertical;border:1px solid var(--line);border-radius:8px;outline-color:var(--accent)}.quick-reply textarea{min-height:84px;padding:12px}.quick-reply button{justify-self:end;min-height:36px;padding:0 14px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}.empty-state,.no-message{display:grid;place-items:center;align-content:center;gap:8px;min-height:280px;color:var(--muted)}.empty-state strong,.no-message strong{color:var(--text)}.compose-page{min-height:0;overflow:auto;flex:1;padding:24px;background:var(--panel-strong)}.compose-panel{min-height:calc(100% - 1px);border:1px solid var(--line-soft);border-radius:8px;overflow:hidden;background:#fff}.compose-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px;padding:16px 18px;border-bottom:1px solid var(--line-soft);background:#fff;color:var(--text)}.compose-head-actions{display:flex;gap:8px;align-items:center}.compose-field{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;min-height:46px;padding:0 16px;border-bottom:1px solid var(--line-soft)}.compose-field span{color:var(--muted);font-size:13px}.compose-field input,.compose-field select{width:100%;border:0;outline:0;background:#fff;color:var(--text)}.editor-toolbar{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid var(--line-soft)}.editor-toolbar button{min-width:32px;height:32px;border:1px solid var(--line);border-radius:7px;background:#fff}.editor-toolbar button.is-active{border-color:#b8e7cb;background:var(--accent-soft);color:var(--accent-dark);font-weight:800}.compose-schedule-row{background:#fbfdfc}.attachment-dropzone{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:78px;margin:14px 16px 0;padding:14px;border:1px dashed #a8b6c7;border-radius:8px;background:#f8fbfd;outline-color:var(--accent)}.attachment-dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.attachment-dropzone div{display:grid;gap:4px;min-width:0}.attachment-dropzone strong{font-size:14px}.attachment-dropzone span{color:var(--muted);font-size:13px}.attachment-dropzone button{flex:0 0 auto;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);font-weight:800}.compose-attachments{margin:10px 16px 0;border:1px solid var(--line-soft);border-radius:8px;background:#fff;overflow:hidden}.compose-attachments.is-empty{display:grid;align-items:center;min-height:42px;padding:0 12px;color:var(--muted);font-size:13px}.compose-attachments-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:0 12px;border-bottom:1px solid var(--line-soft);background:var(--panel-strong)}.compose-attachments-head span{color:var(--muted);font-size:13px}.compose-attachments ul{display:grid;max-height:150px;margin:0;padding:0;overflow:auto;list-style:none}.compose-attachments li{display:grid;grid-template-columns:minmax(0,1fr) 76px auto 30px;align-items:center;gap:8px;min-height:38px;padding:0 8px 0 12px;border-bottom:1px solid var(--line-soft);font-size:13px}.compose-attachments li:last-child{border-bottom:0}.attachment-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.compose-attachments em{justify-self:start;padding:3px 7px;border-radius:999px;background:#fff7ed;color:#c2410c;font-style:normal;font-size:11px;font-weight:900}.compose-attachments em.is-placeholder{visibility:hidden}.compose-attachments li>span:nth-child(2){color:var(--muted);text-align:right}.compose-attachments li button{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:18px}.compose-attachments li button:hover{background:#fee2e2;color:var(--danger)}.compose-body{display:block;min-height:320px;padding:16px;border:0;border-radius:0}.compose-panel footer{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:52px;padding:0 16px;border-top:1px solid var(--line-soft);background:var(--panel-strong)}.send-option{display:flex;align-items:center;gap:6px;margin-right:0;color:var(--muted);font-size:13px}.compose-head-actions button,.compose-panel footer button{min-height:36px;padding:0 16px;border-radius:8px;font-weight:800}.ghost{border:1px solid var(--line);background:#fff;color:var(--text)}.send-button{border:0;background:var(--accent);color:#fff}.compose-page-plain{padding:0;background:#f4f6f8}.roundcube-compose{display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto;height:100%;min-height:0;border:0;border-radius:0;background:#fff}.roundcube-compose .compose-head{min-height:44px;padding:6px 10px;border-bottom:1px solid #cfd8e3;background:#edf1f5}.compose-toolbar{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.compose-toolbar button{min-height:30px;padding:0 11px;border:1px solid #b9c4d0;border-radius:4px;background:#fff;color:var(--text);font-size:13px;font-weight:700}.compose-toolbar .send-button{border-color:var(--accent-dark);background:var(--accent);color:#fff}.compose-toolbar button.is-active{border-color:#8ad0a8;background:var(--accent-soft);color:var(--accent-dark)}.compose-toolbar button:disabled{cursor:progress;opacity:.7}.compose-mode{margin-left:auto;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.compose-envelope{display:grid;border-bottom:1px solid #dce3ec}.roundcube-compose .compose-field{grid-template-columns:112px minmax(0,1fr);min-height:36px;padding:0 10px;border-bottom:1px solid var(--line-soft);background:#fff}.roundcube-compose .compose-field:last-child{border-bottom:0}.roundcube-compose .compose-field span{color:#4b5563;font-size:12px;font-weight:800}.roundcube-compose .compose-field input,.roundcube-compose .compose-field select{min-height:28px;padding:2px 6px;border:1px solid transparent;border-radius:3px;background:#fff;font-size:13px}.roundcube-compose .compose-field input:focus,.roundcube-compose .compose-field select:focus{border-color:#8ab4e8;outline:0;box-shadow:0 0 0 2px #2563eb14}.recipient-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px}.recipient-toggle{min-height:28px;padding:0 8px;border:1px solid #c4ceda;border-radius:4px;background:#f8fbff;color:#334155;font-size:12px;font-weight:800;white-space:nowrap}.recipient-toggle:hover{border-color:#8ab4e8;background:#eef6ff}.roundcube-compose .compose-schedule-row{background:#f8fbfd}.roundcube-compose .attachment-dropzone{min-height:38px;margin:0;padding:5px 10px;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;background:#fbfdff}.roundcube-compose .attachment-dropzone strong,.roundcube-compose .attachment-dropzone span{font-size:12px}.roundcube-compose .attachment-dropzone button{min-height:28px;padding:0 10px;border-radius:4px;font-size:12px}.roundcube-compose .compose-attachments{margin:0;border-width:0 0 1px;border-radius:0}.roundcube-compose .compose-attachments.is-empty{min-height:32px}.html-editor-toolbar{display:flex;align-items:center;gap:4px;min-height:36px;padding:4px 10px;border-bottom:1px solid var(--line-soft);background:#f6f8fb}.html-editor-toolbar button{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border:1px solid #c4ceda;border-radius:4px;background:#fff;color:var(--text);font-size:13px;font-weight:800}.html-editor-toolbar button:hover{border-color:#8ab4e8;background:#f8fbff}.compose-editor{min-height:0;display:grid;background:#fff}.compose-body-source{display:none}.roundcube-compose .compose-html-editor{min-height:0;height:100%;padding:14px;border:0;border-radius:0;overflow:auto;font-family:Inter,Pretendard,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,Arial,sans-serif;font-size:14px;line-height:1.65}.roundcube-compose .compose-html-editor:empty:before{content:attr(data-placeholder);color:var(--faint)}.roundcube-compose .compose-html-editor:focus{outline:2px solid rgba(37,99,235,.14);outline-offset:-2px}.mail-signature{color:#4b5563}.roundcube-compose .compose-options{min-height:40px;padding:0 10px;border-top:1px solid #cfd8e3;background:#edf1f5}.toast{position:fixed;right:22px;bottom:22px;z-index:20;padding:12px 14px;border-radius:8px;background:#111827;color:#fff;box-shadow:var(--shadow)}@media(max-width:1120px){.mail-layout{grid-template-columns:minmax(360px,45%) minmax(0,1fr)}.spam-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.message-row{grid-template-columns:26px 22px minmax(82px,112px) minmax(0,1fr) 56px}.row-labels,.attach{display:none}}@media(max-width:820px){.auth-page{grid-template-columns:1fr;padding:22px}.settings-layout,.admin-grid,.contact-form,.receipt-workspace,.spam-score-grid,.spam-list-grid{grid-template-columns:1fr}.spam-policy-summary,.settings-actions{align-items:flex-start;flex-direction:column}.settings-actions button{width:100%}.app-shell{grid-template-columns:1fr;min-height:100vh}.sidebar{display:none}.topbar{height:auto;align-items:stretch;flex-wrap:wrap}.search-box{width:100%}.mail-layout{grid-template-columns:1fr}.reader{display:none}.message-row{grid-template-columns:26px 22px minmax(78px,108px) minmax(0,1fr) 54px}.roundcube-compose{grid-template-rows:auto auto auto auto auto minmax(360px,1fr) auto}.compose-toolbar{flex-wrap:wrap}.compose-mode{width:100%;margin-left:0}.roundcube-compose .compose-field{grid-template-columns:1fr;align-items:start;gap:3px;padding:7px 10px}.recipient-input-row{grid-template-columns:1fr}.recipient-toggle{justify-self:start}.roundcube-compose .attachment-dropzone{align-items:flex-start;flex-direction:column}.profile-chip{max-width:164px;overflow:hidden;text-overflow:ellipsis}.receipt-head,.receipt-row{grid-template-columns:1fr}.receipt-head{display:grid}.receipt-summary{grid-template-columns:repeat(3,1fr)}}
