.mail-app{display:grid;grid-template-columns:260px 1fr;height:100vh;min-height:100%;overflow:hidden}@media(max-width:960px){.mail-app{grid-template-columns:1fr}}.mail-sidebar{background:var(--sidebar);color:#e2e8f0;display:flex;flex-direction:column;padding:1rem .75rem;gap:.5rem;overflow-y:auto;border-right:1px solid rgba(255,255,255,.06)}@media(max-width:960px){.mail-sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,88vw);z-index:50;transform:translate(-100%);transition:transform .2s ease}.mail-sidebar.open{transform:translate(0)}}.mail-sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem 1rem}.brand-logo{width:2.25rem;height:2.25rem;border-radius:10px;background:linear-gradient(135deg,#2563eb,#3b82f6);display:grid;place-items:center;font-weight:800;color:#fff}.brand-title{font-weight:700;font-size:1rem;color:#fff}.brand-tag{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.compose-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 .35rem .75rem;padding:.7rem 1rem;background:var(--accent);color:#fff;border:0;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:background .15s}.compose-btn:hover{background:var(--accent-hover)}.mail-nav-section{margin-bottom:.5rem}.nav-section-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.45;padding:.5rem .75rem .35rem}.nav-item{width:100%;display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border:0;border-radius:8px;background:transparent;color:#cbd5e1;cursor:pointer;font-size:.875rem;text-align:left;transition:background .12s}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{background:var(--sidebar-active);color:#fff;font-weight:600}.nav-badge{margin-left:auto;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.65rem;font-weight:700;display:grid;place-items:center}.mail-sidebar-footer{margin-top:auto;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08)}.user-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;margin-bottom:.25rem}.user-email{font-size:.75rem;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{opacity:.85}.mail-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.mail-topbar{display:flex;align-items:center;gap:.65rem;padding:.65rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.mobile-menu{display:none}@media(max-width:960px){.mobile-menu{display:inline-flex}}.search-box{flex:1;display:flex;align-items:center;gap:.5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:0 .85rem;color:var(--text-muted);transition:border-color .15s,box-shadow .15s}.search-box:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.search-box input{flex:1;border:0;background:transparent;padding:.55rem 0;color:var(--text);min-width:0}.search-box input::placeholder{color:var(--text-soft)}.mail-split{display:grid;grid-template-columns:minmax(300px,380px) 1fr;flex:1;min-height:0;overflow:hidden}@media(max-width:1100px){.mail-split{grid-template-columns:1fr}}.mail-list{overflow-y:auto;background:var(--surface);border-right:1px solid var(--border)}@media(max-width:1100px){.mail-list{max-height:42vh;border-right:0;border-bottom:1px solid var(--border)}}.mail-list-empty{display:grid;place-items:center;min-height:240px}.mail-list-skeleton{display:flex;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border)}.mail-row{width:100%;display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border:0;border-bottom:1px solid var(--border);background:transparent;cursor:pointer;text-align:left;transition:background .1s}.mail-row:hover{background:#f8fafc}.mail-row.active{background:var(--accent-soft)}.mail-row.unread .mail-row-from{font-weight:700;color:var(--text)}.mail-row-compact{padding:.6rem 1rem}.mail-row-body{min-width:0;flex:1}.mail-row-top{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.15rem}.mail-row-from{font-size:.875rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-row-date{font-size:.75rem;color:var(--text-soft);flex-shrink:0}.mail-row-subject{display:flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--text);margin-bottom:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-row-preview{font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-star{color:#eab308;flex-shrink:0}.icon-attach{color:var(--text-soft);flex-shrink:0}.mail-reader{overflow-y:auto;padding:1.25rem 1.5rem 2rem;background:var(--surface);min-height:0}.mail-reader-empty{display:grid;place-items:center;min-height:100%}.reader-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.reader-header h1{font-size:1.35rem;font-weight:700;margin:0 0 1rem;line-height:1.35}.reader-participants{display:flex;gap:.85rem;margin-bottom:1.25rem}.reader-from{font-size:.9rem;margin-bottom:.2rem}.reader-from span{color:var(--text-muted);font-weight:400;margin-left:.35rem}.reader-to,.reader-date{font-size:.8125rem;color:var(--text-muted)}.reader-date{display:block;margin-top:.25rem}.remote-images-banner{display:flex;align-items:center;gap:.5rem;width:100%;padding:.65rem .85rem;margin-bottom:1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);color:#92400e;cursor:pointer;font-size:.8125rem}.attachment-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.attachment-chip{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);font-size:.8125rem}.attachment-chip small{color:var(--text-muted)}.reader-content{line-height:1.65;font-size:.9375rem}.email-html img{max-width:100%;height:auto}.email-html table{border-collapse:collapse;max-width:100%}.email-html blockquote{border-left:3px solid var(--border-strong);margin:1rem 0;padding-left:1rem;color:var(--text-muted)}.workspace-view{flex:1;overflow-y:auto;padding:1.5rem 1.75rem 2rem}.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.workspace-header h1{margin:0 0 .35rem;font-size:1.5rem}.workspace-header p{margin:0;color:var(--text-muted);font-size:.9rem}.workspace-section{margin-bottom:2.5rem}.workspace-section h2{font-size:1rem;margin:0 0 1rem;color:var(--text-muted);font-weight:600}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.feature-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.feature-card-icon{width:2.25rem;height:2.25rem;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:.75rem}.feature-card h3{margin:0 0 .35rem;font-size:1rem}.feature-card p{margin:0 0 1rem;font-size:.8125rem;color:var(--text-muted);line-height:1.5}.feature-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.inline-form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.field-compact{display:grid;gap:.3rem;margin-bottom:.75rem}.field-compact label{font-size:.75rem;font-weight:600;color:var(--text-muted)}.field-compact input,.field-compact textarea{border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;background:#fff}.contacts-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th,.data-table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.data-table th{background:var(--surface-2);color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.contact-cell{display:flex;align-items:center;gap:.5rem}.signature-card .signature-preview{margin-top:.75rem;padding:.75rem;background:var(--surface-2);border-radius:8px;font-size:.875rem}.composer-workspace{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg);display:flex;flex-direction:column}.composer-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:var(--bg);color:var(--text-muted)}.composer-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.composer-header-left h1{margin:0;font-size:1.1rem}.composer-sub{font-size:.75rem;color:var(--text-muted)}.composer-header-actions{display:flex;align-items:center;gap:.4rem}.composer-body{flex:1;display:grid;grid-template-columns:280px 1fr;min-height:0;overflow:hidden}@media(max-width:960px){.composer-body{grid-template-columns:1fr}}.composer-sidebar{overflow-y:auto;background:var(--surface);border-right:1px solid var(--border);padding:1rem}.composer-panel{margin-bottom:1.5rem}.composer-panel h3{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:700;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.panel-hint{font-size:.75rem;color:var(--text-soft);margin:-.35rem 0 .65rem}.template-grid{display:grid;gap:.5rem}.template-card{text-align:left;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);cursor:pointer;transition:border-color .12s,background .12s}.template-card:hover,.template-card.active{border-color:var(--accent);background:var(--accent-soft)}.template-card strong{display:block;font-size:.8125rem;margin-bottom:.15rem}.template-card span{font-size:.7rem;color:var(--text-muted);line-height:1.4}.template-list-compact,.template-row{width:100%;text-align:left;padding:.5rem .65rem;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;font-size:.8125rem;margin-bottom:.35rem}.template-row:hover{background:var(--surface-2)}.var-row{display:flex;gap:.35rem}.var-row input{flex:1}.composer-main{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:1rem 1.25rem}.composer-fields{margin-bottom:.75rem;flex-shrink:0}.field-row{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:.75rem;margin-bottom:.35rem}.field-row label{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-align:right}.field-row input{border:0;border-bottom:1px solid var(--border);padding:.45rem 0;background:transparent;transition:border-color .15s}.field-row input:focus{border-bottom-color:var(--accent);outline:none;box-shadow:none}.link-btn{border:0;background:none;color:var(--accent);font-size:.75rem;cursor:pointer;padding:.15rem 0 .15rem 64px;margin-bottom:.35rem}.composer-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;flex-shrink:0;flex-wrap:wrap;gap:.5rem}.attachment-zone{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-muted);font-size:.8125rem;cursor:pointer;transition:border-color .15s,background .15s}.composer-shortcuts{font-size:.75rem;color:var(--text-soft)}.composer-shortcuts kbd{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.1rem .35rem;font-size:.7rem}.pro-editor{flex:1;display:flex;flex-direction:column;min-height:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.pro-editor-toolbar{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem;border-bottom:1px solid var(--border);background:var(--surface-2);flex-shrink:0}.toolbar-group{display:flex;gap:.15rem;padding-right:.5rem;margin-right:.35rem;border-right:1px solid var(--border)}.toolbar-group:last-child{border-right:0}.color-swatch{width:1.25rem;height:1.25rem;border-radius:4px;border:1px solid rgba(0,0,0,.1);cursor:pointer;padding:0}.pro-editor-content,.ProseMirror{flex:1;overflow-y:auto;padding:1rem 1.25rem;min-height:200px;line-height:1.65;font-size:.9375rem}.pro-editor-content:focus,.ProseMirror:focus{outline:none}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-soft);pointer-events:none;height:0}.ProseMirror h1{font-size:1.5rem;margin:.75rem 0 .5rem}.ProseMirror h2{font-size:1.25rem;margin:.75rem 0 .5rem}.ProseMirror blockquote{border-left:3px solid var(--accent);padding-left:1rem;color:var(--text-muted);margin:.75rem 0}.ProseMirror table{border-collapse:collapse;width:100%;margin:.75rem 0}.ProseMirror td,.ProseMirror th{border:1px solid var(--border);padding:.4rem .6rem}.ProseMirror hr{border:0;border-top:1px solid var(--border);margin:1rem 0}.editor-skeleton{height:280px;border-radius:var(--radius-lg)}.editor-preview{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}.editor-preview-label{padding:.5rem 1rem;font-size:.75rem;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface-2)}.editor-preview .email-html{padding:1.25rem}.editor-upload-bar{padding:.45rem 1rem;font-size:.75rem;font-weight:600;color:var(--accent);background:var(--accent-soft);border-bottom:1px solid var(--border)}.attachment-zone:hover,.attachment-zone.drag-over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.attachment-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.5rem}.attachment-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.attachment-item-meta{min-width:0;flex:1;display:grid;gap:.2rem}.attachment-item-meta strong{font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-item-meta span{font-size:.75rem;color:var(--text-muted)}.upload-progress{height:4px;background:var(--border);border-radius:999px;overflow:hidden;margin-top:.25rem}.upload-progress>div{height:100%;background:var(--accent);transition:width .15s}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;padding:1rem;z-index:80}.modal{width:min(720px,100%);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem}.html-insert-modal{width:min(760px,100%)}.html-insert-textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.5;border:1px solid var(--border);border-radius:var(--radius);padding:.85rem;resize:vertical;background:#0f172a;color:#e2e8f0}.html-insert-textarea:focus{outline:none;box-shadow:var(--focus);border-color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.mail-inline-image{max-width:100%;height:auto}.admin-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh;background:radial-gradient(circle at top right,rgba(37,99,235,.08),transparent 24%),linear-gradient(180deg,#f8fbff,#f1f5f9)}@media(max-width:980px){.admin-shell{grid-template-columns:1fr}}.admin-sidebar{background:linear-gradient(180deg,#0f172a,#111827);color:#dbe7ff;padding:1.1rem .9rem;display:flex;flex-direction:column;gap:1rem;border-right:1px solid rgba(255,255,255,.06)}.admin-brand{display:flex;align-items:center;gap:.75rem;padding:.35rem .35rem .2rem}.admin-side-card,.admin-user-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.85rem}.admin-side-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#dbe7ff94;margin-bottom:.3rem}.admin-side-title{color:#fff;font-weight:700;margin-bottom:.2rem}.admin-side-card p,.admin-user-card div{margin:0;color:#dbe7ffb8;font-size:.82rem}.admin-nav{display:grid;gap:.35rem}.admin-nav-link{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#dbe7ffc7;padding:.72rem .8rem;border-radius:10px;transition:background .15s,color .15s;font-size:.9rem}.admin-nav-link:hover{background:#ffffff0f;color:#fff}.admin-nav-link.active{background:#2563eb38;color:#fff;font-weight:600}.admin-user-card{margin-top:auto;display:grid;gap:.8rem}.admin-user-row{display:flex;align-items:center;gap:.65rem}.admin-user-row strong{display:block;color:#fff;margin-bottom:.1rem}.admin-main{min-width:0;padding:1.25rem 1.4rem 2rem}.admin-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.3rem}.admin-topbar-title{font-size:1.25rem;font-weight:700;color:var(--text)}.admin-topbar-sub{font-size:.88rem;color:var(--text-muted);margin-top:.2rem}.admin-page{display:grid;gap:1.25rem}.admin-hero,.admin-detail-hero{background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;border-radius:18px;padding:1.4rem 1.5rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;box-shadow:var(--shadow)}.admin-hero h1,.admin-detail-hero h1{margin:0 0 .4rem;font-size:1.6rem}.admin-hero p,.admin-detail-hero p{margin:0;max-width:720px;color:#fffc;line-height:1.6}.admin-hero-meta{display:flex;gap:.6rem;flex-wrap:wrap}.metric-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .7rem;border-radius:999px;background:#ffffff1f;color:#fff;font-size:.78rem}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem}.admin-kpi-card{background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(203,213,225,.9);border-radius:16px;padding:1rem;box-shadow:var(--shadow-sm)}.admin-kpi-card.accent{border-color:#2563eb4d;background:linear-gradient(180deg,#eff6ff,#fff)}.admin-kpi-icon{width:2rem;height:2rem;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-bottom:.7rem}.admin-kpi-label{font-size:.78rem;color:var(--text-muted);margin-bottom:.3rem}.admin-kpi-card strong{font-size:1.35rem;color:var(--text)}.admin-grid-2,.admin-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:1100px){.admin-grid-2,.admin-detail-grid{grid-template-columns:1fr}}.admin-panel-card{background:#ffffffdb;border:1px solid rgba(226,232,240,.95);border-radius:18px;padding:1.05rem 1.05rem 1.1rem;box-shadow:var(--shadow-sm);min-width:0}.admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.admin-panel-head h2,.admin-page-header h1{margin:0 0 .25rem;font-size:1.15rem}.admin-panel-head p,.admin-page-header p{margin:0;color:var(--text-muted);font-size:.84rem}.admin-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-search{display:inline-flex;align-items:center;gap:.45rem;min-width:260px;padding:0 .8rem;background:#fff;border:1px solid var(--border);border-radius:999px;color:var(--text-muted)}.admin-search input{border:0;background:transparent;min-width:0;width:100%;padding:.68rem 0}.admin-search input:focus{box-shadow:none}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:.85rem .7rem;border-bottom:1px solid var(--border);font-size:.86rem;vertical-align:middle}.admin-table th{color:var(--text-muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.admin-table tr:last-child td{border-bottom:0}.table-link,.panel-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--accent);text-decoration:none;font-weight:600}.table-actions{text-align:right}.status-pill{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}.status-pill.ok{background:#ecfdf5;color:#15803d}.status-pill.warn{background:#fff7ed;color:#c2410c}.admin-person-cell{display:inline-flex;align-items:center;gap:.5rem}.admin-modal{max-width:520px}.admin-modal-sub{margin:-.25rem 0 1rem;color:var(--text-muted);font-size:.88rem}.admin-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.admin-checkbox{display:flex;align-items:center;gap:.6rem;color:var(--text);font-size:.9rem;margin-top:.3rem}.admin-settings-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.admin-inline-empty{padding-top:.6rem}.admin-login-hero{background:linear-gradient(145deg,#0f172a,#1e3a8a 60%,#2563eb);color:#fff;padding:2.6rem 1.9rem;display:flex;flex-direction:column;justify-content:center;gap:1.1rem}.admin-login-hero-brand{display:flex;align-items:center;gap:.9rem}.admin-login-hero-logo{width:2.6rem;height:2.6rem;border-radius:12px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;font-weight:900;letter-spacing:-.02em}.admin-login-hero-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700}.admin-login-hero-sub{opacity:.8;font-size:.9rem;margin-top:.15rem}.admin-login-hero h1{font-size:2.1rem;margin:0;font-weight:500;letter-spacing:-.02em}.admin-login-hero p{margin:0;opacity:.88;line-height:1.7}.admin-login-hero-cards{display:grid;gap:.75rem;margin-top:.2rem}.admin-login-hero-card{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem .9rem;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:14px}.admin-login-hero-card strong{display:block;font-weight:800}.admin-login-hero-card span{display:block;opacity:.85;font-size:.86rem;margin-top:.15rem}.admin-login-hero-foot{margin-top:.2rem;display:flex;gap:.55rem;align-items:center;opacity:.9;font-size:.9rem}.admin-login-card{padding:2.1rem 1.8rem}.admin-login-card-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.admin-login-card-badge{background:var(--accent-soft);color:var(--accent);padding:.35rem .6rem;border-radius:999px;font-weight:700;font-size:.75rem}.admin-login-2fa-hint{margin-top:.35rem;color:var(--text-soft);font-size:.82rem}.auth-footer{margin-top:1rem;font-size:.82rem;color:var(--text-muted);line-height:1.6}:root{--font: "Inter", "Segoe UI", system-ui, sans-serif;--font-display: "Instrument Serif", Georgia, serif;--bg: #f1f5f9;--surface: #ffffff;--surface-2: #f8fafc;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #0f172a;--text-muted: #64748b;--text-soft: #94a3b8;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #eff6ff;--sidebar: #0f172a;--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-active: rgba(37, 99, 235, .22);--danger: #dc2626;--danger-soft: #fef2f2;--success: #16a34a;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow: 0 8px 30px rgba(15, 23, 42, .08);--radius: 10px;--radius-lg: 14px;--focus: 0 0 0 3px rgba(37, 99, 235, .25)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}:focus-visible{outline:none;box-shadow:var(--focus)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{padding:.45rem .75rem;font-size:.8125rem}.btn-md{padding:.6rem 1rem;font-size:.875rem}.btn-lg{padding:.75rem 1.25rem;font-size:.9375rem}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-soft{background:var(--accent-soft);color:var(--accent)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn-active{background:var(--accent-soft);color:var(--accent)}.skeleton{background:linear-gradient(90deg,#e2e8f0,#f1f5f9,#e2e8f0);background-size:200% 100%;animation:shimmer 1.2s linear infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;flex-shrink:0}.avatar-sm{width:1.75rem;height:1.75rem;font-size:.65rem}.avatar-md{width:2.25rem;height:2.25rem;font-size:.75rem}.avatar-lg{width:2.75rem;height:2.75rem;font-size:.875rem}.badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600}.badge-neutral{background:#f1f5f9;color:#475569}.badge-accent{background:var(--accent-soft);color:var(--accent)}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--text-muted)}.empty-state h3{color:var(--text);margin:.75rem 0 .35rem;font-size:1.05rem}.empty-state p{margin:0;max-width:360px;margin-inline:auto;line-height:1.6;font-size:.9rem}.empty-state-icon{color:var(--text-soft)}.toast-stack{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.5rem;z-index:100}.toast{background:var(--sidebar);color:#fff;padding:.75rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow);min-width:220px;font-size:.875rem}.text-muted{color:var(--text-muted)}.portal{position:relative;min-height:100%;overflow:hidden;background:radial-gradient(1200px 700px at 15% 10%,#134e4a 0%,transparent 55%),radial-gradient(900px 600px at 90% 80%,#0f766e 0%,transparent 50%),#041110;color:#ecfdf8}.portal-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.portal-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#04111047,#041110b8);pointer-events:none}.portal-shell{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem 1.25rem}.portal-brand{display:flex;flex-direction:column;align-items:center;text-align:center}.portal-logo{width:3rem;height:3rem;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#5eead4,#0f766e);color:#042f2e;font-weight:800;font-size:1.2rem;box-shadow:0 12px 40px #2dd4bf47}.portal-kicker{margin:.85rem 0 .25rem;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;color:#99f6e4;font-weight:700}.portal-brand h1{font-family:var(--font-display);font-weight:400;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.15;margin:0}.portal-card{width:min(420px,100%);background:#061817b8;border:1px solid rgba(94,234,212,.22);border-radius:22px;padding:1.6rem 1.5rem 1.4rem;box-shadow:0 30px 80px #00000059;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-steps{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem}.portal-steps span{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.45rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);color:#94a3b8}.portal-steps .is-active{color:#042f2e;background:#5eead4;border-color:#5eead4}.portal-steps .is-done{color:#99f6e4;background:#0f766e73;border-color:#5eead466}.portal-icon{width:3.1rem;height:3.1rem;border-radius:16px;display:grid;place-items:center;margin-bottom:.9rem;background:#2dd4bf1f;color:#5eead4}.portal-icon.is-ok{background:#10b98129;color:#6ee7b7}.portal-gate h2,.portal-form h2{margin:0 0 .35rem;font-size:1.35rem}.portal-gate>p,.portal-form>p{margin:0 0 1.2rem;color:#9ca3af;font-size:.9rem;line-height:1.55}.portal-checks{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.45rem}.portal-checks li{display:flex;align-items:center;gap:.5rem;color:#64748b;font-size:.85rem;font-weight:600}.portal-checks li.is-on{color:#99f6e4}.portal-meter{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden;margin-bottom:1rem}.portal-meter-bar{height:100%;width:0;background:linear-gradient(90deg,#0f766e,#5eead4);transition:width .2s ease}.portal .field label{color:#d1fae5}.portal .field input{background:#041110a6;border-color:#5eead438;color:#ecfdf8}.portal .field input:focus{border-color:#5eead4}.portal .btn-primary{background:linear-gradient(180deg,#2dd4bf,#0f766e);border:0;color:#042f2e}.portal .btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#5eead4,#0d9488)}.auth-page{min-height:100%;display:grid;grid-template-columns:1fr 1fr}@media(max-width:900px){.auth-page{grid-template-columns:1fr}}.auth-hero{background:linear-gradient(145deg,#0f172a,#1e3a8a 55%,#2563eb);color:#fff;padding:3rem;display:flex;flex-direction:column;justify-content:center}.auth-hero h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;margin:0 0 1rem;line-height:1.15}.auth-hero p{opacity:.88;line-height:1.7;max-width:420px;margin:0}.auth-hero-features{margin-top:2.5rem;display:grid;gap:1rem}.auth-hero-feature{display:flex;gap:.75rem;align-items:flex-start;font-size:.9rem;opacity:.92}.auth-hero-feature strong{display:block;margin-bottom:.15rem}.auth-panel{display:grid;place-items:center;padding:2rem;background:var(--surface)}.auth-card{width:min(400px,100%)}.auth-card h2{margin:0 0 .35rem;font-size:1.5rem}.auth-card>p{margin:0 0 1.75rem;color:var(--text-muted);font-size:.9rem}.field{display:grid;gap:.35rem;margin-bottom:1rem}.field label{font-size:.8125rem;font-weight:600;color:var(--text)}.field input{border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .85rem;background:#fff;transition:border-color .15s}.field input:focus{border-color:var(--accent)}.error-banner{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius);padding:.7rem .85rem;margin-bottom:1rem;font-size:.875rem}.auth-footer{margin-top:1.25rem;font-size:.8125rem;color:var(--text-muted)}.auth-footer a{color:var(--accent);text-decoration:none;font-weight:600}.app-loading{height:100%;display:grid;place-items:center}
