/* Emiracle Experience: client portal */
:root{--ink:#0B0B0C;--ink2:#141416;--ivory:#F7F4EE;--paper:#FFFFFF;--line:#EADBC4;--line2:#E6E0D6;--gold:#CC965C;--gold2:#E2B887;--bronze:#8A5A26;--txt:#3A3731;--mut:#77716A;--ok:#2F7A55;--okb:#E7F3EC;--warn:#9A5B12;--warnb:#FBEFDD;--info:#3B5B86;--infob:#E8EEF7;--bad:#A23B2E;--badb:#FBE9E6;--r:22px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--ivory) !important;color:var(--txt);font-family:'Work Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
svg{flex:none}
.emx{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.emx-side{position:sticky;top:0;height:100vh;background:var(--ink);color:#D8D3CA;display:flex;flex-direction:column;padding:26px 18px;gap:20px;overflow:auto}
.emx-brand{display:flex;align-items:center;gap:10px;text-decoration:none;padding:0 10px 6px}
.emx-brand img{height:30px;width:auto}
.emx-brand span{color:var(--gold2);font-size:13px;letter-spacing:.16em;text-transform:uppercase;padding-top:6px}
.emx-side nav{display:flex;flex-direction:column;gap:4px}
.emx-side nav a,.emx-out{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:14px;text-decoration:none;color:#CFC9BF;font-size:14px;transition:background .2s,color .2s}
.emx-side nav a:hover,.emx-out:hover{background:#1C1C1F;color:#fff}
.emx-side nav a.on{background:linear-gradient(135deg,#2A2116,#1A1610);color:#F0D5AE;box-shadow:inset 0 0 0 1px #3A2D1D}
.emx-side nav a.on svg{color:var(--gold)}
.emx-side-card{margin-top:auto;background:#141416;border:1px solid #26262A;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:4px}
.emx-side-card b{color:#F0D5AE;font-weight:500;font-size:13px}
.emx-side-card span{font-size:12px;color:#8E887F}
.emx-side-card a{margin-top:10px;display:flex;align-items:center;gap:8px;justify-content:center;background:#1E3B2B;color:#BFE9CF;border-radius:999px;padding:9px;text-decoration:none;font-size:13px}
.emx-main{min-width:0;display:flex;flex-direction:column}
.emx-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;padding:14px 36px;min-height:78px;background:rgba(247,244,238,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line2)}
.emx-lock{display:flex;align-items:center;gap:16px;text-decoration:none;margin-right:auto;min-width:0}
.emx-lock img{height:36px;width:auto}
.emx-lock i{width:1px;height:30px;background:#D3C6B1}
.emx-lock span{font-size:19px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--bronze);white-space:nowrap}
.emx-who{display:flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;border:1px solid var(--line2);border-radius:999px;background:#fff}
.emx-who>div{display:flex;flex-direction:column;line-height:1.2}
.emx-who strong{font-weight:500;color:var(--ink);font-size:13px}
.emx-who small{font-size:11px;color:var(--mut)}
.emx-av{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--gold2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;letter-spacing:.04em}
.emx-side nav{margin-top:6px}
.emx-burger{display:none;background:none;border:1px solid var(--line2);border-radius:12px;width:42px;height:42px;align-items:center;justify-content:center;color:var(--ink)}
.emx-body{padding:34px 36px 70px;display:flex;flex-direction:column;gap:22px;max-width:1320px;width:100%}
.emx-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.emx-h h1{margin:0;font-weight:300;font-size:clamp(26px,3vw,38px);letter-spacing:-.02em;color:var(--ink);line-height:1.15}
.emx-k{margin:0 0 6px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze)}
.emx-h-act{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.emx-lead{margin:-8px 0 0;color:var(--mut);max-width:680px}
.emx-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 20px;border-radius:999px;background:var(--ink);color:#F7F4EE !important;border:0;font:500 14px/1 'Work Sans',sans-serif;text-decoration:none;cursor:pointer;transition:transform .15s,background .2s}
.emx-btn:hover{background:#26231F;transform:translateY(-1px)}
.emx-btn svg{color:var(--gold2)}
.emx-btn.sm{min-height:38px;padding:0 15px;font-size:13px}
.emx-btn.line{background:transparent;color:var(--ink) !important;border:1px solid #CFC6B7}
.emx-btn.line svg{color:var(--bronze)}
.emx-btn.wide{width:100%}
.emx-pill{display:inline-flex;align-items:center;min-height:26px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:500;background:#EFEAE1;color:#5C5850;white-space:nowrap}
.emx-pill.ok{background:var(--okb);color:var(--ok)}.emx-pill.warn{background:var(--warnb);color:var(--warn)}.emx-pill.info{background:var(--infob);color:var(--info)}
.emx-card{background:var(--paper);border:1px solid var(--line2);border-radius:var(--r);padding:22px;min-width:0}
.emx-card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.emx-card-h h2{margin:0;font-size:17px;font-weight:500;color:var(--ink)}
.emx-card-h a{font-size:13px;color:var(--bronze);text-decoration:none}
.emx-muted{color:var(--mut);font-size:13px;margin:0}
.emx-cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start}
.emx-stack{display:flex;flex-direction:column;gap:22px;min-width:0}
.emx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.emx-kpis.one{grid-template-columns:minmax(0,320px)}
.emx-kpi{background:var(--paper);border:1px solid var(--line2);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:6px;text-decoration:none;transition:border-color .2s,transform .2s}
a.emx-kpi:hover{border-color:var(--gold2);transform:translateY(-2px)}
.emx-kpi svg{width:40px;height:40px;padding:9px;border-radius:13px;background:#F6EEE2;color:var(--bronze)}
.emx-kpi b{font-size:26px;font-weight:400;color:var(--ink);letter-spacing:-.02em;margin-top:6px}
.emx-kpi span{font-size:12px;color:var(--mut);letter-spacing:.04em}
.emx-list{display:flex;flex-direction:column}
.emx-job{display:flex;align-items:center;gap:14px;padding:14px 4px;border-top:1px solid #F0EBE3;text-decoration:none}
.emx-job:first-child{border-top:0}
.emx-job>i{width:42px;height:42px;border-radius:14px;background:#F6EEE2;color:var(--bronze);display:flex;align-items:center;justify-content:center;flex:none}
.emx-job>div{min-width:0;display:flex;flex-direction:column}
.emx-job b{font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.emx-job span{font-size:13px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.emx-job .emx-job-r{margin-left:auto;align-items:flex-end;gap:4px;flex:none}
.emx-job small{font-size:11px;color:#9C958B}
.emx-job:hover b{color:var(--bronze)}
.emx-mini{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #F0EBE3;text-decoration:none}
.emx-mini:first-of-type{border-top:0}
.emx-mini span{display:flex;flex-direction:column;color:var(--ink);min-width:0}
.emx-mini small{color:var(--mut);font-size:12px}
.emx-mini b{font-weight:500;color:var(--ink);white-space:nowrap}
.emx-exp{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.emx-exp li{display:flex;align-items:center;gap:12px}
.emx-exp i{width:36px;height:36px;border-radius:12px;background:#F6EEE2;color:var(--bronze);display:flex;align-items:center;justify-content:center}
.emx-exp div{display:flex;flex-direction:column;min-width:0}
.emx-exp b{font-weight:500;color:var(--ink);font-size:14px}
.emx-exp span{font-size:12px;color:var(--mut)}
.emx-exp em{margin-left:auto;font-style:normal;font-size:13px;color:var(--txt);white-space:nowrap}
.emx-exp em.hot{color:var(--bad);font-weight:500}
.emx-empty{text-align:center;padding:34px 16px;display:flex;flex-direction:column;align-items:center;gap:6px}
.emx-empty svg{width:56px;height:56px;padding:14px;border-radius:18px;background:#F6EEE2;color:var(--bronze)}
.emx-empty h3{margin:8px 0 0;font-weight:500;color:var(--ink)}
.emx-empty p{margin:0 0 10px;color:var(--mut);max-width:420px}
.emx-empty.sm{padding:16px}
.emx-tabs{display:flex;gap:6px;background:#EFE9DF;padding:5px;border-radius:999px;width:max-content;max-width:100%;overflow:auto}
.emx-tabs a{padding:8px 16px;border-radius:999px;text-decoration:none;font-size:13px;color:#5C5850;white-space:nowrap}
.emx-tabs a.on{background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px var(--line2)}
.emx-progress{background:var(--ink);color:#D8D3CA;border-radius:var(--r);padding:22px 24px;display:flex;flex-direction:column;gap:14px}
.emx-bar{height:10px;border-radius:99px;background:#26262A;overflow:hidden}
.emx-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--bronze),var(--gold),var(--gold2));transition:width 1s ease}
.emx-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:13px}
.emx-meta span{display:inline-flex;align-items:center;gap:7px}
.emx-meta svg{color:var(--gold2);width:17px;height:17px}
.emx-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.emx-steps li{display:flex;gap:14px;position:relative;padding-bottom:16px}
.emx-steps li:before{content:"";position:absolute;left:16px;top:34px;bottom:0;width:2px;background:#EFE9DF}
.emx-steps li:last-child:before{display:none}
.emx-steps i{width:34px;height:34px;border-radius:50%;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;color:var(--mut);background:#fff;flex:none;z-index:1}
.emx-steps li.done i{background:var(--okb);border-color:#BFDCCB;color:var(--ok)}
.emx-steps li.done:before{background:#CFE6D8}
.emx-steps li.now i{background:var(--ink);border-color:var(--ink);color:var(--gold2);box-shadow:0 0 0 5px #F1E3CF}
.emx-steps div{display:flex;flex-direction:column;padding-top:6px}
.emx-steps b{font-weight:500;color:var(--ink);font-size:14px}
.emx-steps li:not(.done):not(.now) b{color:#8F887E;font-weight:400}
.emx-steps span{font-size:12px;color:var(--mut)}
.emx-check-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.emx-check-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #F0EBE3;border-radius:14px;font-size:14px}
.emx-check-list li i{color:var(--mut);display:flex}
.emx-check-list li.done{background:#F7FBF8;color:var(--mut)}
.emx-check-list li.done i{color:var(--ok)}
.emx-check-list .emx-pill{margin-left:auto}
.emx-chat{display:flex;flex-direction:column;position:sticky;top:96px;max-height:calc(100vh - 120px)}
.emx-msgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:6px 2px 14px;min-height:240px}
.emx-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:86%}
.emx-msg.me{align-self:flex-end;align-items:flex-end}
.emx-bubble{background:#F4EFE7;border-radius:18px 18px 18px 6px;padding:11px 14px;color:var(--txt);font-size:14px;overflow-wrap:anywhere}
.emx-msg.me .emx-bubble{background:var(--ink);color:#EDE7DD;border-radius:18px 18px 6px 18px}
.emx-bubble p{margin:0 0 6px}.emx-bubble p:last-child{margin:0}
.emx-bubble a{color:inherit}
.emx-msg small{font-size:11px;color:#9C958B;margin:4px 6px 0}
.emx-att{display:flex;align-items:center;gap:6px;margin-top:8px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(138,90,38,.25);text-decoration:none;font-size:13px}
.emx-compose{display:flex;gap:10px;align-items:flex-end;border-top:1px solid #F0EBE3;padding-top:14px}
.emx-compose textarea{flex:1;resize:none;border:1px solid var(--line2);border-radius:16px;padding:12px 14px;font:inherit;min-height:48px;max-height:160px;background:#FCFAF7}
.emx-compose textarea:focus,.emx-form input:focus,.emx-form select:focus,.emx-form textarea:focus{outline:2px solid #EBD3B2;border-color:var(--gold)}
.emx-compose .emx-btn{width:48px;height:48px;padding:0;flex:none}
.emx-first{text-align:center;margin:auto 0}
.emx-files .emx-drop{border:1.5px dashed #DCCDB6;border-radius:16px;padding:16px;text-align:center;color:var(--mut);font-size:13px;margin-bottom:10px;transition:background .2s}
.emx-files .emx-drop.over{background:#FBF4EA;border-color:var(--gold)}
.emx-filelist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.emx-filelist li{display:flex;align-items:center;gap:10px;padding:10px 2px;border-top:1px solid #F0EBE3;font-size:14px;min-width:0}
.emx-filelist li:first-child{border-top:0}
.emx-filelist li i{color:var(--bronze);display:flex}
.emx-filelist a,.emx-fold{color:var(--ink);text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.emx-filelist a:hover{color:var(--bronze)}
.emx-filelist span:last-child{margin-left:auto;font-size:12px;color:var(--mut);white-space:nowrap}
.emx-up{display:flex;flex-direction:column;gap:6px;font-size:13px;margin-bottom:8px}
.emx-up div{height:6px;border-radius:9px;background:#EFE9DF;overflow:hidden}
.emx-up div i{display:block;height:100%;width:0;background:var(--gold);transition:width .2s}
.emx-up.err{color:var(--bad)}
.emx-table{overflow-x:auto}
.emx-table table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.emx-table th{text-align:left;font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);padding:10px 12px;border-bottom:1px solid var(--line2)}
.emx-table td{padding:13px 12px;border-bottom:1px solid #F3EFE8;vertical-align:top}
.emx-table tbody tr{cursor:pointer}
.emx-table tbody tr:hover td{background:#FCFAF6}
.emx-table a{text-decoration:none;color:var(--ink);font-weight:500}
.emx-table .r{text-align:right;white-space:nowrap}
.emx-table tfoot td{border:0;padding-top:12px}
.emx-table small{color:var(--mut)}
.emx-pay .emx-big{font-size:34px;font-weight:300;color:var(--ink);margin:0 0 14px;letter-spacing:-.02em}
.emx-pay .emx-muted{margin-top:10px}
.emx-bank{margin-top:16px;border:1px solid var(--line2);border-radius:16px;padding:12px 14px}
.emx-bank summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:500;color:var(--ink);list-style:none}
.emx-bank summary svg{color:var(--bronze)}
.emx-bank>div{padding-top:12px}
.emx-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 12px;font-size:14px}
.emx-dl dt{color:var(--mut)}.emx-dl dd{margin:0;color:var(--ink);font-weight:500;overflow-wrap:anywhere}
.emx-pre{white-space:normal;font-size:14px;color:var(--txt)}
.emx-sub-h{font-size:14px;font-weight:500;margin:18px 0 8px;color:var(--bronze);letter-spacing:.04em}
.emx-note{padding:13px 16px;border-radius:14px;font-size:14px;background:var(--infob);color:var(--info)}
.emx-note.ok{background:var(--okb);color:var(--ok)}.emx-note.bad{background:var(--badb);color:var(--bad)}
.emx-form{display:flex;flex-direction:column;gap:14px}
.emx-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#5C5850;font-weight:500}
.emx-form input,.emx-form select,.emx-form textarea{font:400 15px/1.4 'Work Sans',sans-serif;color:var(--ink);border:1px solid var(--line2);border-radius:14px;padding:12px 14px;background:#FCFAF7;min-height:48px;width:100%}
.emx-form input[disabled]{color:var(--mut);background:#F4F1EB}
.emx-form .emx-check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}
.emx-form .emx-check input{width:18px;height:18px;min-height:0;margin-top:2px;accent-color:var(--ink)}
.emx-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.emx-row{display:flex;justify-content:flex-end;font-size:13px}
.emx-row a,.emx-alt a,.emx-check a{color:var(--bronze)}
.emx-hp{position:absolute;left:-9999px;opacity:0}
/* auth */
.emx-auth{min-height:100vh}
.emx-auth-wrap{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}
.emx-auth-art{background:radial-gradient(120% 80% at 10% 0%,#2A2116 0%,#0B0B0C 55%);color:#D8D3CA;padding:56px;display:flex;flex-direction:column;justify-content:center;gap:28px;position:relative;overflow:hidden}
.emx-auth-art:after{content:"";position:absolute;right:-140px;bottom:-140px;width:420px;height:420px;border-radius:50%;border:1px solid #3A2D1D;box-shadow:0 0 0 60px rgba(204,150,92,.04),0 0 0 120px rgba(204,150,92,.03)}
.emx-auth-art img{height:38px;width:auto;align-self:flex-start}
.emx-auth-art h2{margin:0;font-weight:200;font-size:clamp(34px,4vw,56px);line-height:1.08;color:#F7F4EE;letter-spacing:-.03em}
.emx-auth-art h2 em{font-style:normal;color:var(--gold2)}
.emx-auth-art ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;max-width:440px}
.emx-auth-art li{display:flex;align-items:center;gap:14px;font-size:15px}
.emx-auth-art li svg{width:40px;height:40px;padding:10px;border-radius:13px;background:#1C1914;color:var(--gold2);border:1px solid #2E2518}
.emx-auth-form{padding:56px clamp(24px,6vw,90px);display:flex;flex-direction:column;justify-content:center;max-width:620px;width:100%}
.emx-auth-form h1{margin:0;font-weight:300;font-size:34px;color:var(--ink);letter-spacing:-.02em}
.emx-sub{margin:6px 0 24px;color:var(--mut)}
.emx-back{align-self:flex-start;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);text-decoration:none;margin-bottom:30px}
.emx-alt{margin:18px 0 0;font-size:14px;color:var(--mut)}
@media (max-width:1100px){.emx-cols{grid-template-columns:1fr}.emx-chat{position:static;max-height:none}.emx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){
.emx{grid-template-columns:1fr}
.emx-side{position:fixed;inset:0 auto 0 0;width:280px;z-index:30;transform:translateX(-100%);transition:transform .25s}
.emx-side.open{transform:none;box-shadow:0 0 0 100vmax rgba(0,0,0,.45)}
.emx-burger{display:inline-flex}
.emx-top{padding:12px 16px;gap:10px}
.emx-lock{gap:10px}.emx-lock img{height:26px}.emx-lock i{height:22px}.emx-lock span{font-size:12px;letter-spacing:.2em}
.emx-who{padding:3px;border:0;background:none}.emx-who>div{display:none}
.emx-top .emx-btn.sm{display:none}
.emx-top .emx-btn{padding:0 12px}
.emx-body{padding:22px 16px 60px;gap:16px}
.emx-card{padding:18px;border-radius:20px}
.emx-kpis{gap:10px}.emx-kpi{padding:16px}.emx-kpi b{font-size:20px}
.emx-grid2{grid-template-columns:1fr}
.emx-auth-wrap{grid-template-columns:1fr}
.emx-auth-art{padding:34px 22px 28px;gap:18px}
.emx-auth-art h2{font-size:30px}
.emx-auth-art ul{display:none}
.emx-auth-form{padding:28px 18px 48px}
.emx-job .emx-job-r small{display:none}
.emx-msg{max-width:94%}
}

.emx-auth-art .emx-lock{align-self:flex-start;margin:0}.emx-auth-art .emx-lock i{background:#3A2D1D}.emx-auth-art .emx-lock span{color:var(--gold2)}
