body{
margin:0;
font-family:Inter,Arial;
background:#f4f6fb;
}

.wp-block-post-title {
    display: none;
}
.dashboard{
padding:0;
max-width: 100% !important;
}

.has-global-padding{
    padding-top: 0 !important;
}

.cards{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
margin-bottom:25px;
}

.card{
background:#fff;
padding:25px;
border-radius:14px;
font-size:24px;
font-weight:600;
box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.card span{
display:block;
font-size:14px;
color:#777;
margin-top:6px;

}

.income{border-left:6px solid #2ecc71}
.expense{border-left:6px solid #e74c3c}
.balance{border-left:6px solid #6c5ce7}
.pending{border-left:6px solid #f1c40f}

.filters{
display:flex;
justify-content:space-between;
margin-bottom:20px;
align-items:center;
gap:16px;
flex-wrap:wrap;
}
.etp-range-summary{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:12px;
background:#fff;
padding:14px;
border-radius:12px;
box-shadow:0 4px 12px rgba(0,0,0,.05);
margin-bottom:20px;
}
.etp-range-summary-title{
font-weight:600;
color:#333;
margin:6px 0 10px 0;
}
.etp-summary-item{
display:flex;
flex-direction:column;
gap:6px;
}
.etp-summary-item .label{
font-size:12px;
color:#777;
}
.etp-summary-item strong{
font-size:18px;
}

.tabs button{
padding:10px 18px;
border:none;
border-radius:8px;
background:#eaeaf0;
cursor:pointer;
margin-right:6px;
white-space:nowrap;
}

.tabs .active{
background:#6c5ce7;
color:white;
}

.filters input{
padding:10px 15px;
border-radius:10px;
border:1px solid #ddd;
width:220px;
}
.filter-controls{
display:flex;
gap:10px;
align-items:center;
justify-content:flex-end;
flex:1 1 auto;
flex-wrap:wrap;
}
.filter-controls input{
width:auto;
min-width:160px;
}
.tabs{
display:flex;
gap:8px;
flex-wrap:nowrap;
align-items:center;
flex:0 0 auto;
}
.tabs button{
margin-right:0;
}
#etp-this-month,
#etp-last-month{
padding:10px 14px;
border:none;
border-radius:10px;
background:#eaeaf0;
cursor:pointer;
}
#etp-this-month.is-active,
#etp-last-month.is-active{
background:#6c5ce7;
color:#fff;
}
#etp-clear-filters{
padding:10px 14px;
border:none;
border-radius:10px;
background:#111827;
color:#fff;
cursor:pointer;
}

.content{
display:grid;
grid-template-columns:2fr 1fr;
gap:25px;
align-items:start;
}

.etp-left-col{
display:flex;
flex-direction:column;
gap:20px;
}

.transactions{
background:#fff;
border-radius:14px;
padding:20px;
min-height:440px;
display:flex;
flex-direction:column;
}

.row{
display:flex;
justify-content:space-between;
padding:14px 0;
border-bottom:1px solid #eee;
font-size:16px;
margin-top: 10px;
margin-bottom: 10px;
align-items:center;
gap:10px;
}

.row.income{color:#2ecc71; padding-left: 10px;}
.row.expense{color:#e74c3c; padding-left: 10px;}
.row.pending{color:#f39c12;padding-left: 10px;}
.row span em{
display:block;
font-style:normal;
font-size:12px;
color:#999;
margin-top:4px;
}
.etp-row-actions{
display:flex;
gap:8px;
}
.etp-row-actions button{
padding:6px 10px;
border:none;
border-radius:8px;
cursor:pointer;
font-size:12px;
}
.etp-edit{background:#eaeaf0;}
.etp-delete{background:#ffe8e8;color:#b42318;}

.charts{
display:flex;
flex-direction:column;
gap:20px;
}

.etp-transactions{
flex:1;
}

.chart-box{
background:#fff;
border-radius:14px;
box-shadow:0 4px 12px rgba(0,0,0,.05);
padding:10px;
border:1px solid #f0f0f5;
}
.chart-header{
display:flex;
justify-content:space-between;
align-items:center;
padding:8px 8px 0 8px;
}
.chart-title{
font-weight:700;
font-size:16px;
color:#1f2937;
}
.chart-subtitle{
font-size:12px;
color:#6b7280;
margin-top:2px;
}

.etp-limits-period{
display:inline-flex;
align-items:center;
gap:6px;
margin-left:8px;
padding:2px 8px;
border-radius:999px;
background:#eef2ff;
color:#4f46e5;
font-weight:600;
font-size:11px;
}
.chart-body{
display:flex;
flex-direction:column;
gap:12px;
padding:10px;
align-items:center;
}
.chart-canvas-wrap{
background:radial-gradient(circle at center, #f7f7ff 0%, #ffffff 55%, #ffffff 100%);
border-radius:16px;
padding:14px;
box-shadow:inset 0 0 0 1px #f1f1f5;
max-width:260px;
aspect-ratio:1/1;
margin:0 auto;
display:flex;
align-items:center;
justify-content:center;
position:relative;
}
.chart-box canvas{
width:100% !important;
height:auto !important;
}
.etp-pie-empty{
position:absolute;
inset:0;
display:none;
align-items:center;
justify-content:center;
flex-direction:column;
gap:10px;
color:#6b7280;
text-align:center;
}
.etp-pie-gif{
width:120px;
height:120px;
border-radius:50%;
background:
  conic-gradient(#dfe3ff 0 45%, #e9f7ee 45% 75%, #ffe9e9 75% 100%);
box-shadow:inset 0 0 0 6px #fff, 0 10px 25px rgba(0,0,0,.08);
animation: etpPieSpin 1.6s ease-in-out 1;
}
.etp-pie-empty-text{
font-size:13px;
}
@keyframes etpPieSpin{
  0%{transform:rotate(0deg);}
  50%{transform:rotate(180deg);}
  100%{transform:rotate(360deg);}
}
.etp-donut-legend{
background:#fff;
border-radius:12px;
padding:12px 14px;
box-shadow:0 4px 12px rgba(0,0,0,.05);
font-size:13px;
color:#444;
width:100%;
max-width:360px;
}
.etp-donut-legend ul{
list-style:none;
padding:0;
margin:0;
display:flex;
flex-direction:column;
gap:8px;
}
.etp-donut-legend li{
display:flex;
justify-content:space-between;
align-items:center;
}
.etp-donut-legend .swatch{
display:inline-block;
width:10px;
height:10px;
border-radius:50%;
margin-right:8px;
}
.etp-pagination{
display:flex;
gap:12px;
align-items:center;
justify-content:flex-end;
margin-top:14px;
}
.etp-pagination button{
padding:8px 12px;
border:none;
border-radius:8px;
background:#eaeaf0;
cursor:pointer;
}
.etp-pagination button:disabled{
opacity:.5;
cursor:not-allowed;
}
.etp-empty{
padding:20px 10px;
color:#777;
font-style:italic;
}
.etp-empty-illustrated{
display:flex;
flex-direction:column;
align-items:center;
gap:12px;
font-style:normal;
color:#6b7280;
}
.etp-empty-ill{
width:88px;
height:56px;
border-radius:16px;
background:linear-gradient(135deg,#eef2ff,#f8fafc);
position:relative;
box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.etp-empty-ill span{
position:absolute;
height:6px;
border-radius:999px;
background:#c7d2fe;
left:14px;
right:14px;
}
.etp-empty-ill span:nth-child(1){top:14px;}
.etp-empty-ill span:nth-child(2){top:26px;width:55%;}
.etp-empty-ill span:nth-child(3){top:38px;width:35%;}
.etp-add-btn{
margin:20px 0;
padding:12px 20px;
border:none;
background:#6c5ce7;
color:white;
border-radius:10px;
cursor:pointer;
}
.etp-topbar{
display:flex;
justify-content:space-between;
align-items:center;
gap:12px;
flex-wrap:wrap;
width:100%;
}
.etp-topbar .etp-add-btn{
margin-right:auto;
}
.etp-topbar .etp-lang-toggle{
margin-left:auto;
}
.etp-topbar-right{
display:flex;
align-items:center;
gap:12px;
}
.etp-user-menu{
position:relative;
}
.etp-user-btn{
border:none;
background:#fff;
border-radius:999px;
width:36px;
height:36px;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
box-shadow:0 4px 12px rgba(0,0,0,.08);
border:1px solid #f0f0f5;
}
.etp-user-avatar{
font-weight:700;
color:#6c5ce7;
}
.etp-user-dropdown{
position:absolute;
right:0;
top:44px;
background:#fff;
border-radius:12px;
box-shadow:0 10px 24px rgba(0,0,0,.12);
border:1px solid #f0f0f5;
min-width:160px;
padding:8px;
display:none;
z-index:20;
}
.etp-user-dropdown a,
.etp-user-dropdown button{
display:block;
width:100%;
text-align:left;
padding:8px 10px;
border-radius:8px;
border:none;
background:transparent;
color:#111827;
cursor:pointer;
text-decoration:none;
font-size:13px;
}
.etp-user-dropdown a:hover,
.etp-user-dropdown button:hover{
background:#f3f4f6;
}
.etp-user-menu.open .etp-user-dropdown{
display:block;
}

.etp-switch-toggle{
display:flex !important;
align-items:center !important;
gap:12px !important;
margin:10px 0 12px 0;
width:100%;
position:relative;
}
.etp-switch-toggle input{
position:absolute;
opacity:0;
pointer-events:none;
}
.etp-toggle-slider{
width:44px;
height:24px;
background:#e5e7eb;
border-radius:999px;
position:relative;
transition:background .2s ease;
flex:0 0 44px;
display:inline-block;
}
.etp-toggle-slider:after{
content:'';
width:20px;
height:20px;
background:#fff;
border-radius:50%;
position:absolute;
top:2px;
left:2px;
transition:transform .2s ease;
box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.etp-switch-toggle input:checked + .etp-toggle-slider{
background:#6c5ce7;
box-shadow:0 0 0 4px rgba(108,92,231,.15);
}
.etp-switch-toggle input:checked + .etp-toggle-slider:after{
transform:translateX(20px);
}
.etp-toggle-label{
font-size:13px;
color:#111827;
line-height:1.4;
display:inline-block;
min-width:0;
flex:1 1 auto;
white-space:normal;
}
.etp-notify-hint{
margin:10px 0 6px;
font-size:12px;
color:#6b7280;
}
#etp-enable-push{
margin-bottom:10px;
}
.etp-modal form label{
display:block;
font-size:12px;
color:#6b7280;
margin:8px 0 6px;
}
.etp-limits-list{
display:flex;
flex-direction:column;
gap:14px;
padding:10px 6px 6px;
}
.etp-limit-row-input{
display:grid;
grid-template-columns:1fr minmax(110px,140px) 36px;
gap:8px;
margin-bottom:8px;
align-items:center;
}
.etp-limit-row-input .etp-limit-new-category{
grid-column:1 / -1;
}
.etp-limit-row-input .etp-limit-amount{
text-align:right;
font-variant-numeric:tabular-nums;
}
.etp-limit-row-input select{
appearance:auto;
background:#fff;
border:1px solid #e5e7eb;
border-radius:10px;
height:42px;
padding:10px 12px;
}
.etp-limit-remove{
position:static;
width:26px;
height:26px;
border-radius:50%;
border:none;
background:#f3f4f6;
color:#111827;
cursor:pointer;
line-height:1;
opacity:0;
transition:opacity .2s ease;
display:flex;
align-items:center;
justify-content:center;
}
.etp-limit-row-input:hover .etp-limit-remove{
opacity:1;
}
.etp-limit-row-input:focus-within .etp-limit-remove{
opacity:1;
}
.etp-add-limit-row{
margin:6px 0 10px;
}
.etp-limit-row{
display:grid;
grid-template-columns:1fr 110px;
gap:12px;
align-items:center;
}
.etp-limit-row h4{
margin:0 0 6px 0;
font-size:14px;
}
.etp-limit-bar{
background:#e5e7eb;
border-radius:999px;
height:14px;
position:relative;
overflow:hidden;
}
.etp-limit-fill{
height:100%;
width:0%;
border-radius:999px;
transition:width .4s ease, background .4s ease;
background:linear-gradient(90deg,#22c55e 0%, #fbbf24 50%, #f59e0b 75%, #ef4444 100%);
}
.etp-limit-meta{
font-size:12px;
color:#111827;
opacity:.8;
}
.etp-limit-pill{
justify-self:end;
background:#111827;
color:#fff;
padding:6px 10px;
border-radius:999px;
font-size:12px;
}
.etp-savings-box .chart-header{
align-items:center;
gap:12px;
}
.etp-savings-body{
display:flex;
flex-direction:column;
gap:10px;
margin-top:10px;
}
.etp-savings-progress{
display:flex;
flex-direction:column;
gap:8px;
}
.etp-savings-meta{
font-size:14px;
display:flex;
gap:6px;
align-items:center;
color:#111827;
font-weight:600;
}
.etp-savings-sub{
font-size:12px;
color:#6b7280;
}
.etp-savings-date{
font-size:12px;
color:#6b7280;
}
#etp-savings-form .etp-savings-mode{
display:flex;
flex-direction:column;
gap:10px;
margin:8px 0 4px;
text-align:left;
font-size:13px;
color:#374151;
}
.etp-savings-option{
display:flex;
align-items:center;
gap:12px;
padding:12px 14px;
border:1px solid #e5e7eb;
border-radius:14px;
background:#f9fafb;
cursor:pointer;
transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
flex-direction:row;
}
.etp-savings-option input{
position:absolute;
opacity:0;
pointer-events:none;
}
.etp-savings-option .etp-radio-ui{
width:18px;
height:18px;
border-radius:50%;
border:2px solid #cbd5f5;
display:inline-block;
position:relative;
background:#fff;
flex:0 0 auto;
margin-top:1px;
}
.etp-savings-option span[data-i18n],
.etp-savings-option span:not(.etp-radio-ui){
line-height:1.2;
margin-left:5px;
display:inline-flex;
align-items:center;
flex:1;
}
.etp-savings-option input:checked + .etp-radio-ui{
border-color:#6c5ce7;
background:#6c5ce7;
box-shadow:0 0 0 4px rgba(108,92,231,.15);
}
.etp-savings-option input:checked + .etp-radio-ui::after{
content:'';
position:absolute;
inset:4px;
background:#fff;
border-radius:50%;
}
.etp-savings-option:hover{
border-color:#c7d2fe;
box-shadow:0 6px 16px rgba(108,92,231,.12);
}
.etp-savings-option:has(input:checked){
border-color:#6c5ce7;
background:#eef2ff;
}
#etp-savings-form button[type=\"submit\"]{
margin-top:12px;
}
.etp-lang-toggle{
display:flex;
align-items:center;
gap:8px;
background:#fff;
padding:8px 10px;
border-radius:10px;
box-shadow:0 4px 12px rgba(0,0,0,.05);
border:1px solid #f0f0f5;
}
.etp-lang-toggle label{
font-size:12px;
color:#6b7280;
}
.etp-lang-toggle select{
border:none;
background:transparent;
font-weight:600;
cursor:pointer;
}

.etp-modal{
display:flex;
position:fixed;
inset:0;
background:rgba(0,0,0,.4);
justify-content:center;
align-items:center;
z-index:999;
backdrop-filter: blur(6px);
opacity:0;
transition:opacity .25s ease;
pointer-events:none;
visibility:hidden;
}

.etp-modal-content{
background:#fff;
padding:25px;
border-radius:14px;
width:320px;
position:relative;
box-shadow:0 20px 60px rgba(17,24,39,.18);
border:1px solid #f0f0f5;
transform: translateY(12px) scale(.98);
opacity:0;
transition:transform .25s ease, opacity .25s ease;
margin:0 auto;
position:fixed;
top:50%;
left:50%;
transform: translate(-50%, -50%) scale(.98);
}

.etp-confirm .etp-modal-content{
width:360px;
}

.etp-confirm-actions{
display:flex;
justify-content:flex-end;
gap:10px;
margin-top:18px;
}

.etp-btn-ghost{
background:#f3f4f6;
border:none;
color:#111827;
padding:10px 14px;
border-radius:10px;
cursor:pointer;
}

.etp-btn-danger{
background:#ef4444;
border:none;
color:#fff;
padding:10px 14px;
border-radius:10px;
cursor:pointer;
}

#etp-close{
position:absolute;
right:12px;
top:10px;
font-size:20px;
cursor:pointer;
color:#6b7280;
}

.etp-modal .etp-close-modal{
position:absolute;
right:12px;
top:10px;
font-size:20px;
cursor:pointer;
color:#6b7280;
line-height:1;
}

.etp-modal-content{
padding:22px 22px 20px;
}

.etp-modal-content form{
margin-top:10px;
}

#etp-popup-form input,
#etp-popup-form select,
#etp-popup-form button{
width:100%;
padding:10px;
margin-bottom:10px;
border-radius:8px;
border:1px solid #ddd;
box-sizing:border-box;
}

.etp-modal-subtitle{
margin:0 0 14px 0;
color:#6b7280;
font-size:13px;
}

.etp-modal-content h3{
margin:0 0 6px 0;
font-size:18px;
color:#111827;
}

.etp-modal-content form input,
.etp-modal-content form select{
width:100%;
height:42px;
padding:10px 12px;
border-radius:10px;
border:1px solid #e5e7eb;
background:#f9fafb;
box-sizing:border-box;
}

.etp-modal-content form input:focus,
.etp-modal-content form select:focus{
outline:none;
border-color:#6c5ce7;
box-shadow:0 0 0 3px rgba(108,92,231,.12);
background:#fff;
}

.etp-modal-content form button{
background:#6c5ce7;
color:#fff;
border:none;
padding:12px;
border-radius:10px;
font-weight:600;
cursor:pointer;
}

.etp-modal-content form button:hover{
filter:brightness(0.95);
}

.etp-modal-content .etp-btn-ghost{
background:#f3f4f6;
color:#111827;
border:none;
}

.etp-auth{
display:flex;
justify-content:center;
align-items:flex-start;
padding:40px 20px;
}
.etp-auth-card{
background:#fff;
border-radius:14px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
padding:24px;
max-width:520px;
width:100%;
border:1px solid #f0f0f5;
}
.etp-auth-center{
display:flex;
align-items:center;
justify-content:center;
}
.etp-auth-container{
background:#fff;
border-radius:16px;
box-shadow:0 14px 28px rgba(0,0,0,0.15), 0 10px 10px rgba(0,0,0,0.12);
position:relative;
overflow:hidden;
width:860px;
max-width:100%;
min-height:520px;
}
.etp-auth-container h1{
font-size:28px;
margin:0 0 12px 0;
line-height:1.2;
}
.etp-auth-container p{
font-size:14px;
margin:0 0 18px 0;
line-height:1.5;
}
.etp-auth-form-container{
position:absolute;
top:0;
height:100%;
transition:all .6s ease-in-out;
background:#fff;
display:flex;
align-items:center;
justify-content:center;
padding:0 40px;
box-sizing:border-box;
}
.etp-auth-form-container form{
width:100%;
max-width:320px;
text-align:center;
display:flex;
flex-direction:column;
align-items:stretch;
}
.etp-auth-form-container input,
.etp-auth-form-container button{
width:100% !important;
display:block;
}
.etp-auth-form-container input{
margin:8px 0;
background:#f3f4f6;
border:1px solid #e5e7eb;
border-radius:10px;
padding:12px 14px;
font-size:14px;
box-sizing:border-box;
color:#111827;
}
.etp-auth-form-container input::placeholder{
color:#9ca3af;
}
.etp-auth-form-container button{
margin-top:10px;
}
.etp-auth-form-container button{
background:#6c5ce7;
color:#fff;
border:none;
border-radius:999px;
padding:12px 18px;
font-weight:700;
letter-spacing:.02em;
}
.etp-auth-form-container button.is-loading{
position:relative;
color:transparent;
}
.etp-auth-form-container button.is-loading::after{
content:'';
position:absolute;
inset:0;
margin:auto;
width:18px;
height:18px;
border-radius:50%;
border:2px solid rgba(255,255,255,.4);
border-top-color:#fff;
animation:etpSpin 1s linear infinite;
}
.etp-sign-in-container{
left:0;
width:50%;
z-index:5;
opacity:1;
}
.etp-sign-up-container{
left:0;
width:50%;
opacity:0;
z-index:1;
}
.etp-forgot-container{
left:0;
width:100%;
opacity:0;
z-index:1;
}
.etp-auth-overlay-container{
position:absolute;
top:0;
left:50%;
width:50%;
height:100%;
overflow:hidden;
transition:transform .6s ease-in-out;
z-index:100;
pointer-events:auto;
}
.etp-auth-overlay{
background:linear-gradient(135deg, #6c5ce7 0%, #7c3aed 100%);
background-repeat:no-repeat;
background-size:cover;
position:relative;
left:-100%;
height:100%;
width:200%;
transform:translateX(0);
transition:transform .6s ease-in-out;
}
.etp-auth-overlay-panel{
color:#fff;
position:absolute;
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
padding:0 40px;
text-align:center;
top:0;
height:100%;
width:50%;
transform:translateX(0);
transition:transform .6s ease-in-out;
box-sizing:border-box;
}
.etp-overlay-left{
transform:translateX(-20%);
left:0;
}
.etp-overlay-right{
right:0;
transform:translateX(0);
}
.etp-auth-overlay-panel h1{
font-size:28px;
margin:0 0 10px 0;
max-width:260px;
line-height:1.2;
}
.etp-auth-overlay-panel p{
font-size:14px;
line-height:1.5;
margin:0 0 20px 0;
max-width:260px;
color:rgba(255,255,255,.92);
}
.etp-auth-mobile-tabs{
display:none;
gap:8px;
margin:16px;
}
.etp-mobile-tab{
flex:1;
background:#f3f4f6;
border:none;
padding:10px 12px;
border-radius:10px;
cursor:pointer;
font-weight:600;
color:#6b7280;
}
.etp-mobile-tab.active{
background:#6c5ce7;
color:#fff;
}
.etp-auth-container.right-panel-active .etp-sign-in-container{
transform:translateX(100%);
}
.etp-auth-container.right-panel-active .etp-sign-up-container{
transform:translateX(100%);
opacity:1;
z-index:5;
animation: etpShow .6s;
}
.etp-auth-container.right-panel-active .etp-auth-overlay-container{
transform:translateX(-100%);
}
.etp-auth-container.right-panel-active .etp-auth-overlay{
transform:translateX(50%);
}
.etp-auth-container.right-panel-active .etp-overlay-left{
transform:translateX(0);
}
.etp-auth-container.right-panel-active .etp-overlay-right{
transform:translateX(20%);
}
.etp-auth-container.forgot-active .etp-auth-form-container{
transform:translateX(0);
}
.etp-auth-container.forgot-active .etp-sign-in-container,
.etp-auth-container.forgot-active .etp-sign-up-container{
opacity:0;
z-index:1;
}
.etp-auth-container.forgot-active .etp-forgot-container{
opacity:1;
z-index:5;
animation: etpShow .6s;
}
.etp-auth-container.forgot-active .etp-auth-overlay-container{
display:none;
}
@keyframes etpShow{
  0%, 49.99% {opacity:0; z-index:1;}
  50%, 100% {opacity:1; z-index:5;}
}
.etp-ghost{
background:transparent;
border:1px solid rgba(255,255,255,.8);
color:#fff;
padding:10px 24px;
border-radius:999px;
cursor:pointer;
text-transform:uppercase;
font-size:12px;
letter-spacing:.08em;
}
.etp-link-forgot{
display:block;
text-align:right;
color:#6c5ce7;
font-size:12px;
text-decoration:none;
margin:2px 0 10px 0;
}
.etp-link-forgot:hover{
text-decoration:underline;
}
.etp-link-back{
display:block;
text-align:center;
color:#6c5ce7;
font-size:12px;
text-decoration:none;
margin-top:10px;
}
.etp-auth-card h4{
margin:0 0 10px 0;
}
.etp-auth-card input,
.etp-auth-card button{
width:100%;
height:42px;
padding:10px 12px;
border-radius:8px;
border:1px solid #e5e7eb;
margin-bottom:10px;
box-sizing:border-box;
}
.etp-auth-container button{
background:#6c5ce7;
color:#fff;
border:none;
font-weight:600;
cursor:pointer;
}
.etp-auth-container button.etp-ghost{
background:transparent;
border:1px solid rgba(255,255,255,.8);
}
.etp-auth-msg{
padding:10px 12px;
border-radius:8px;
margin:10px 0;
font-size:13px;
}
.etp-auth-msg.success{
background:#dcfce7;
color:#166534;
}
.etp-auth-msg.error{
background:#fee2e2;
color:#991b1b;
}
.etp-auth-loader{
display:none;
align-items:center;
gap:8px;
font-size:12px;
color:#6b7280;
margin-top:6px;
}
.etp-auth-loader .dot{
width:6px;
height:6px;
border-radius:50%;
background:#6c5ce7;
animation: etpPulse 1s infinite;
}
.etp-auth-loader .dot:nth-child(2){animation-delay:.2s;}
.etp-auth-loader .dot:nth-child(3){animation-delay:.4s;}
@keyframes etpPulse{
  0%,100%{transform:scale(1); opacity:.6;}
  50%{transform:scale(1.6); opacity:1;}
}
@keyframes etpSpin{
  to{transform:rotate(360deg);}
}
.etp-link-btn{
background:transparent;
border:none;
color:#6c5ce7;
text-align:left;
padding:0;
margin:0 0 10px 0;
cursor:pointer;
height:auto;
}
.etp-auth-reset-actions{
display:flex;
gap:10px;
}
.etp-auth-reset-actions .etp-btn-ghost{
width:auto;
flex:1;
}
.etp-auth-reset{
margin-top:16px;
}
.etp-auth-error{
background:#fee2e2;
color:#991b1b;
padding:10px 12px;
border-radius:8px;
margin-top:10px;
transition:opacity .3s ease, transform .3s ease;
}
.etp-auth-success{
background:#dcfce7;
color:#166534;
padding:10px 12px;
border-radius:8px;
margin-top:10px;
transition:opacity .3s ease, transform .3s ease;
}
.etp-auth-error.hide,
.etp-auth-success.hide{
opacity:0;
transform:translateY(-6px);
pointer-events:none;
}

.etp-profile{
background:#fff;
border-radius:14px;
box-shadow:0 4px 12px rgba(0,0,0,.05);
padding:18px;
margin-bottom:20px;
border:1px solid #f0f0f5;
}
.etp-profile h4{
margin:0 0 12px 0;
}
.etp-profile-header{
display:grid;
grid-template-columns:80px 1fr 1fr;
gap:12px;
align-items:center;
margin-bottom:12px;
}
.etp-avatar{
width:64px;
height:64px;
border-radius:50%;
background:#eaeaf0;
display:flex;
align-items:center;
justify-content:center;
font-weight:700;
color:#6c5ce7;
overflow:hidden;
}
.etp-avatar img{
width:100%;
height:100%;
object-fit:cover;
}
.etp-profile-name label,
.etp-profile-avatar label{
display:block;
font-size:12px;
color:#6b7280;
margin-bottom:6px;
}
.etp-profile-name input,
.etp-profile-avatar input{
width:100%;
height:42px;
padding:10px 12px;
border-radius:8px;
border:1px solid #e5e7eb;
box-sizing:border-box;
background:#f9fafb;
}
.etp-switch{
display:flex;
align-items:center;
gap:10px;
margin-bottom:12px;
}
.etp-profile-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px;
margin-bottom:12px;
}
.etp-profile-grid label{
display:block;
font-size:12px;
color:#6b7280;
margin-bottom:6px;
}
.etp-profile-grid input,
.etp-profile-grid select{
width:100%;
height:42px;
padding:10px 12px;
border-radius:8px;
border:1px solid #e5e7eb;
box-sizing:border-box;
background:#f9fafb;
}
.etp-profile-days label{
display:block;
font-size:12px;
color:#6b7280;
margin-bottom:6px;
}
.etp-day-options{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-bottom:12px;
}
.etp-day-options label{
font-size:12px;
color:#111827;
background:#f3f4f6;
padding:6px 10px;
border-radius:999px;
}
.etp-profile button{
background:#111827;
color:#fff;
border:none;
padding:10px 14px;
border-radius:10px;
cursor:pointer;
}

#etp-popup-form input,
#etp-popup-form select{
background:#f9fafb;
border:1px solid #e5e7eb;
transition:border .2s ease, box-shadow .2s ease;
font-size:14px;
line-height:1.4;
height:42px;
padding:10px 12px;
box-sizing:border-box;
}

#etp-popup-form input:focus,
#etp-popup-form select:focus{
outline:none;
border-color:#6c5ce7;
box-shadow:0 0 0 3px rgba(108,92,231,.12);
background:#fff;
}

#etp-popup-form input::placeholder{
color:#9ca3af;
}

#etp-popup-form select{
appearance:none;
background-image:
  linear-gradient(45deg, transparent 50%, #6b7280 50%),
  linear-gradient(135deg, #6b7280 50%, transparent 50%),
  linear-gradient(to right, #e5e7eb, #e5e7eb);
background-position:
  calc(100% - 18px) 18px,
  calc(100% - 12px) 18px,
  calc(100% - 36px) 50%;
background-size:6px 6px, 6px 6px, 1px 60%;
background-repeat:no-repeat;
padding-right:40px;
}

#etp-popup-form input[type="date"]{
padding-right:12px;
}

#etp-new-category{
height:42px;
}

body.etp-modal-open{
overflow:hidden;
}

#etp-popup-form button{
background:#6c5ce7;
color:#fff;
font-weight:600;
border:none;
padding:12px;
}

#etp-popup-form button:hover{
filter:brightness(0.95);
}

.etp-modal.open{
opacity:1;
pointer-events:auto;
visibility:visible;
}

.etp-modal.open .etp-modal-content{
transform: translate(-50%, -50%) scale(1);
opacity:1;
}

.etp-toast-container{
position:fixed;
right:20px;
top:20px;
z-index:1000;
display:flex;
flex-direction:column;
gap:10px;
}

.etp-toast{
background:#111827;
color:#fff;
padding:12px 16px;
border-radius:12px;
box-shadow:0 10px 25px rgba(0,0,0,.18);
opacity:0;
transform:translateY(-6px);
transition:opacity .2s ease, transform .2s ease;
min-width:220px;
max-width:320px;
}

.etp-toast.show{
opacity:1;
transform:translateY(0);
}

.etp-toast-success{
border-left:6px solid #2ecc71;
}

.etp-toast-error{
border-left:6px solid #e74c3c;
}

.etp-toast-info{
border-left:6px solid #3498db;
}

.etp-pending-alerts{
position:fixed;
right:20px;
top:20px;
z-index:1000;
display:flex;
flex-direction:column;
gap:10px;
max-width:360px;
}

.etp-pending-alert{
background:#111827;
color:#fff;
padding:12px 14px 12px 16px;
border-radius:14px;
box-shadow:0 10px 25px rgba(0,0,0,.18);
display:flex;
align-items:flex-start;
gap:10px;
border-left:6px solid #f59e0b;
opacity:0;
transform:translateY(-6px);
transition:opacity .35s ease, transform .35s ease;
}

.etp-pending-alert.show{
opacity:1;
transform:translateY(0);
}

.etp-pending-alert p{
margin:0;
font-size:13px;
line-height:1.4;
color:#fff !important;
}

.etp-pending-alert .etp-alert-close{
margin-left:auto;
background:transparent;
border:none;
color:#e5e7eb;
font-size:16px;
line-height:1;
cursor:pointer;
padding:4px;
}

@media (max-width: 1024px){
  .cards{
    grid-template-columns:repeat(2,1fr);
  }
  .content{
    grid-template-columns:1fr;
  }
  .filters{
    flex-direction:column;
    gap:12px;
  }
  .filter-controls{
    flex-wrap:wrap;
  }
  .etp-range-summary{
    grid-template-columns:repeat(2,1fr);
  }
  .etp-profile-grid{
    grid-template-columns:1fr 1fr;
  }
  .etp-profile-header{
    grid-template-columns:80px 1fr;
  }
}

@media (max-width: 640px){
  .etp-topbar{
    margin-bottom:20px;
  }
  .etp-topbar .etp-add-btn{
    max-width:136px;
  }
  .etp-topbar{
    flex-direction:row;
    align-items:center;
    gap:8px;
    flex-wrap:nowrap;
  }
  .etp-topbar .etp-add-btn{
    margin:0;
    flex:1 1 auto;
    height:44px;
    padding:10px 12px;
  }
  .etp-topbar-right{
    width:auto;
    gap:8px;
  }
  .etp-theme-toggle{
    padding:6px 8px;
  }
  .etp-lang-toggle{
    padding:6px 8px;
    border-radius:12px;
    box-shadow:none;
    background:#fff;
  }
  .etp-lang-toggle label{
    display:none;
  }
  .etp-lang-toggle select{
    max-width:90px;
    font-size:13px;
  }
  .etp-user-btn{
    width:40px;
    height:40px;
  }
  .etp-user-dropdown{
    right:0;
    top:44px;
    min-width:180px;
  }
  .etp-auth-center{
    min-height:auto;
  }
  .cards{
    grid-template-columns:1fr;
  }
  .filters input{
    width:100%;
  }
  .tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    width:100%;
  }
  .tabs button{
    flex:1 1 calc(50% - 8px);
    text-align:center;
  }
  .filters{
    gap:10px;
  }
  .filter-controls{
    gap:10px;
  }
  .filter-controls input,
  .filter-controls button{
    width:100%;
  }
  .transactions{
    padding:16px;
  }
  .row{
    flex-direction:column;
    align-items:flex-start;
  }
  .etp-row-actions{
    width:100%;
    justify-content:flex-end;
  }
  .etp-range-summary{
    grid-template-columns:1fr;
  }
  .etp-profile-grid{
    grid-template-columns:1fr;
  }
  .etp-profile-header{
    grid-template-columns:1fr;
  }
.etp-auth{
  padding:20px 12px;
}
.etp-auth-confirm-page{
  display:none;
  align-items:center;
  justify-content:center;
  padding:60px 20px;
  min-height:60vh;
}
.etp-auth-confirm-page.open{
  display:flex;
}
.etp-auth-confirm-card{
  background:#fff;
  border-radius:18px;
  padding:28px 26px;
  width:min(420px, 90vw);
  text-align:center;
  box-shadow:0 20px 60px rgba(15,23,42,.2);
  display:flex;
  flex-direction:column;
  align-items:center;
}
.etp-reset-container{
  display:none;
}
.etp-auth-container.reset-active .etp-reset-container{
  display:block;
}
.etp-auth-container.reset-active .etp-sign-in-container,
.etp-auth-container.reset-active .etp-sign-up-container,
.etp-auth-container.reset-active .etp-forgot-container,
.etp-auth-container.reset-active .etp-auth-overlay-container{
  display:none;
}
.etp-pass-field{
  position:relative;
  width:100%;
}
.etp-pass-field input{
  width:100%;
  padding-right:44px;
}
.etp-pass-toggle{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:16px;
  color:#6b7280;
}
.etp-auth-confirm-card h2{
  margin:6px 0 10px 0;
  font-size:24px;
}
.etp-auth-confirm-card p{
  margin:0 0 18px 0;
  color:#6b7280;
}
.etp-confirm-btn{
  background:#6c5ce7;
  color:#fff;
  border:none;
  border-radius:999px;
  padding:10px 18px;
  font-weight:600;
  cursor:pointer;
}
.etp-auth-container.is-hidden{
  display:none;
}
.etp-confirm-art{
  position:relative;
  width:120px;
  height:120px;
  margin:0 auto 8px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(108,92,231,.25), transparent 60%);
}
.etp-confirm-art .pulse-ring{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:2px dashed rgba(108,92,231,.35);
  animation:etpPulseRing 2.4s ease-in-out infinite;
}
.etp-confirm-art .coin{
  position:absolute;
  width:32px;
  height:32px;
  border-radius:50%;
  background:linear-gradient(135deg,#6c5ce7,#9b8bff);
  box-shadow:0 8px 18px rgba(108,92,231,.25);
  animation:etpFloat 3s ease-in-out infinite;
}
.etp-confirm-art .coin::after{
  content:'₹';
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:700;
  font-size:14px;
}
.etp-confirm-art .c1{top:10px;left:8px;}
.etp-confirm-art .c2{right:6px;top:28px;animation-delay:.4s;}
.etp-confirm-art .c3{left:34px;bottom:6px;animation-delay:.8s;}
@keyframes etpPulseRing{
  0%,100%{transform:scale(0.96);opacity:.4;}
  50%{transform:scale(1.05);opacity:.9;}
}
@keyframes etpFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-8px);}
}
  .etp-auth-container{
    width:100%;
    min-height:100vh;
    border-radius:0;
  }
  .etp-auth-form-container,
  .etp-auth-overlay-container{
    position:static;
    width:100%;
    height:auto;
    transform:none !important;
  }
  .etp-auth-overlay-container{
    display:none;
  }
  .etp-sign-up-container,
  .etp-forgot-container{
    display:none;
  }
  .etp-auth-container.right-panel-active .etp-sign-up-container,
  .etp-auth-container.forgot-active .etp-forgot-container{
    display:flex;
    opacity:1;
    z-index:5;
    position:static;
  }
  .etp-auth-container.right-panel-active .etp-sign-in-container,
  .etp-auth-container.forgot-active .etp-sign-in-container{
    display:none;
  }
  .etp-auth-form-container{
    padding:30px 20px;
  }
  .etp-auth-form-container form{
    max-width:100%;
  }
  .etp-auth-container h1{
    font-size:24px;
  }
  .etp-auth-container p{
    font-size:13px;
  }
  .etp-auth-container{
    min-height:0;
  }
  .chart-canvas-wrap{
    max-width:220px;
  }
  .etp-donut-legend{
    max-width:100%;
  }
  .etp-auth-mobile-tabs{
    display:flex;
  }
}
