/* Cebivo V1 — additive UI layer. Existing Cebivo design tokens remain authoritative. */
:root{--v1-green:#007f68;--v1-green-2:#006c59;--v1-mint:#e8f7f3;--v1-line:#e6ecea;--v1-text:#172f2a;--v1-muted:#697b77;--v1-danger:#c83d3d;--v1-shadow:0 16px 44px rgba(20,48,42,.08)}
*{box-sizing:border-box}.v1-app button,.v1-app input,.v1-app select,.v1-app textarea,.auth-shell button,.auth-shell input{font:inherit}
.v1-loader{display:flex;align-items:center;gap:12px;color:var(--v1-text);font-weight:650}.v1-loader:before{content:"";width:22px;height:22px;border:3px solid #d9ebe6;border-top-color:var(--v1-green);border-radius:50%;animation:v1spin .8s linear infinite}@keyframes v1spin{to{transform:rotate(360deg)}}
.row-actions{display:flex;align-items:center;gap:6px}.row-actions button{width:31px;height:31px;border:1px solid var(--v1-line);background:#fff;border-radius:9px;display:grid;place-items:center;color:#60726d;cursor:pointer}.row-actions button:hover{color:var(--v1-green);border-color:#bcded5;background:#f5fbf9}
.month-control{position:relative;display:flex;align-items:center;justify-content:center;gap:4px}.month-nav-btn{width:36px;height:36px;border:0;background:transparent;border-radius:10px;display:grid;place-items:center;color:#71817e;cursor:pointer}.month-nav-btn:hover{background:#f1f7f5;color:var(--v1-green)}.month-nav-btn:disabled{opacity:.3;cursor:not-allowed}.month-pill{min-width:146px;height:40px;padding:0 14px;border:1px solid var(--v1-line);background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--v1-text);font-weight:650;cursor:pointer;box-shadow:0 2px 10px rgba(19,58,49,.03)}
.month-picker-popover{position:absolute;z-index:60;top:48px;left:50%;transform:translateX(-50%);width:292px;background:#fff;border:1px solid var(--v1-line);border-radius:16px;padding:14px;box-shadow:0 22px 55px rgba(19,55,47,.16)}.month-picker-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:10px}.month-picker-head strong{text-align:center;color:var(--v1-text)}.month-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.month-picker-grid button{border:1px solid transparent;background:#f7faf9;border-radius:10px;padding:10px 5px;color:#51635f;cursor:pointer}.month-picker-grid button:hover{border-color:#b8ded4;color:var(--v1-green)}.month-picker-grid button.active{background:var(--v1-green);color:#fff}.month-picker-grid button:disabled{opacity:.35;cursor:not-allowed}.month-today{width:100%;margin-top:9px;border:0;background:var(--v1-mint);color:var(--v1-green);border-radius:10px;padding:9px;font-weight:650;cursor:pointer}
.budget-warning{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #efd9a9;background:#fff9ea;border-radius:12px;color:#745915;font-size:13px}.v1-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.v1-overview-grid{align-items:start}.upcoming-list,.category-breakdown,.budget-list,.installment-list{display:flex;flex-direction:column;gap:2px}.upcoming-row,.breakdown-row,.budget-row,.installment-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf1ef}.upcoming-row:last-child,.breakdown-row:last-child,.budget-row:last-child,.installment-row:last-child{border-bottom:0}.upcoming-row>span:first-child{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--v1-mint);color:var(--v1-green)}.upcoming-row>div,.breakdown-row>div,.installment-row>div{min-width:0;flex:1}.upcoming-row strong,.breakdown-row strong,.installment-row strong{display:block;color:var(--v1-text);font-size:13px}.upcoming-row small,.breakdown-row small,.installment-meta{color:var(--v1-muted);font-size:12px}.breakdown-row>span{font-size:12px;font-weight:700;color:var(--v1-text)}
.accounts-metrics{margin-bottom:18px}.v1-credit-card{overflow:hidden}.v1-credit-card .bank-card{min-height:176px;border-radius:18px;padding:20px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 32px rgba(19,54,46,.16)}.bank-card-top,.bank-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.bank-card-top strong{font-size:16px}.bank-card-number{letter-spacing:3px;font-size:18px;font-weight:700}.bank-card-bottom span{font-size:12px;opacity:.85}.card-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:14px}.card-stat-grid>div{padding:11px;border:1px solid var(--v1-line);border-radius:12px;background:#fbfdfc}.card-stat-grid small{display:block;color:var(--v1-muted);font-size:11px;margin-bottom:3px}.card-stat-grid strong{font-size:14px;color:var(--v1-text)}.card-dates{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--v1-line);padding-top:12px;margin-top:12px;color:var(--v1-muted);font-size:12px}.card-dates strong{color:var(--v1-text)}
.budget-list-card{padding:6px 18px!important}.budget-row{display:block;padding:17px 0}.budget-row-head,.budget-row-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.budget-row-head strong{color:var(--v1-text)}.budget-row-head span,.budget-row-foot{font-size:12px;color:var(--v1-muted)}.progress-track{position:relative;height:7px;background:#edf2f0;border-radius:99px;overflow:hidden;margin:9px 0}.progress-track i{display:block;height:100%;border-radius:inherit;max-width:100%}.budget-row-foot .over{color:var(--v1-danger);font-weight:700}
.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.goal-card{padding:18px}.goal-card h2{font-size:16px;margin:14px 0 8px}.goal-money{display:flex;align-items:baseline;gap:5px}.goal-money strong{font-size:20px;color:var(--v1-text)}.goal-money span,.goal-card small{color:var(--v1-muted);font-size:12px}
.filter-panel{padding:16px 18px}.filter-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.filter-head button{border:0;background:transparent;color:var(--v1-green);font-size:12px;font-weight:650;cursor:pointer}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.filter-grid label,.modal-form label{display:flex;flex-direction:column;gap:6px}.filter-grid label>span,.modal-form label>span{font-size:12px;color:#52655f;font-weight:600}.filter-grid select,.modal-form input,.modal-form select,.modal-form textarea{width:100%;border:1px solid #dbe5e2;background:#fff;border-radius:10px;padding:10px 11px;color:var(--v1-text);outline:none}.filter-grid select:focus,.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:#6db9a8;box-shadow:0 0 0 3px rgba(0,127,104,.08)}.transaction-panel{padding:18px}.transaction-amount{min-width:110px;text-align:right;font-variant-numeric:tabular-nums;font-weight:750;color:var(--v1-text)}.transaction-amount.income{color:#15916f}.transaction-amount.expense{color:#b54747}.transaction-amount.transfer{color:#4f6660}
.settings-form{display:flex;flex-direction:column;gap:12px}.language-settings{padding:4px 0}.setting-note{margin-top:14px;color:var(--v1-muted);font-size:12px}.danger-button{border:1px solid #f0caca;background:#fff5f5;color:#ad3333;border-radius:10px;padding:10px 13px;font-weight:650;cursor:pointer}.danger-button:hover{background:#ffeded}.settings-card .danger-button{width:100%;margin-top:8px}
.v1-modal,.danger-modal{width:min(560px,calc(100vw - 28px));max-height:min(780px,calc(100dvh - 30px));overflow:auto}.danger-modal{border-top:4px solid var(--v1-danger)}.modal-form{display:flex;flex-direction:column;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.optional{font-weight:400!important;color:#899793!important}.color-picker-row{display:flex;gap:9px;flex-wrap:wrap}.color-choice{width:30px;height:30px;border-radius:50%;padding:0!important;border:3px solid #fff!important;box-shadow:0 0 0 1px #d6e0dd;cursor:pointer}.color-choice:has(input:checked){box-shadow:0 0 0 2px var(--v1-green)}.color-choice input{position:absolute;opacity:0;pointer-events:none}
.v1-toast{position:fixed;z-index:100;right:22px;bottom:24px;display:flex;align-items:center;gap:9px;max-width:min(430px,calc(100vw - 28px));background:#173c34;color:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 16px 44px rgba(15,44,37,.23);font-size:13px}.v1-toast.error{background:#8e3232}.v1-toast button{border:0;background:#fff;color:#173c34;border-radius:8px;padding:6px 9px;font-weight:750;cursor:pointer}
.mobile-menu-panel{position:fixed;z-index:91;right:0;top:0;bottom:0;width:min(320px,84vw);background:#fff;padding:24px 18px;box-shadow:-20px 0 60px rgba(19,48,41,.17);display:flex;flex-direction:column}.mobile-menu-panel nav{display:flex;flex-direction:column;gap:5px;margin-top:22px}.mobile-menu-panel nav button,.drawer-logout{display:flex;align-items:center;gap:11px;border:0;background:transparent;border-radius:10px;padding:11px 12px;color:#435852;text-align:left;cursor:pointer}.mobile-menu-panel nav button.active{background:var(--v1-mint);color:var(--v1-green);font-weight:700}.drawer-logout{margin-top:auto;color:#a43b3b}.drawer-brand{padding:0 8px}
.verify-content{text-align:center;padding:8px}.verify-symbol{width:60px;height:60px;border-radius:18px;background:var(--v1-mint);color:var(--v1-green);margin:0 auto 16px;display:grid;place-items:center}.verify-copy{color:var(--v1-muted);line-height:1.6}.verify-email-label{font-size:12px;color:var(--v1-muted);margin-top:15px}.verify-email{font-weight:700;color:var(--v1-text);margin-bottom:16px}.verify-actions{display:flex;flex-direction:column;gap:8px}.verify-back{border:0;background:transparent;color:var(--v1-green);padding:8px;cursor:pointer}
.password-field{position:relative}.password-field input{padding-right:44px!important}.password-field button{position:absolute;right:7px;bottom:7px;width:32px;height:32px;border:0;background:transparent;border-radius:8px;color:#71817e;display:grid;place-items:center;cursor:pointer}
@media(max-width:1180px){.v1-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.v1-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.filter-grid,.form-grid{grid-template-columns:1fr}.goal-grid{grid-template-columns:1fr}.month-control{order:2;width:100%;margin-top:4px}.month-picker-popover{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(320px,calc(100vw - 28px))}.transaction-amount{min-width:auto}.card-stat-grid{grid-template-columns:1fr 1fr}.v1-toast{left:14px;right:14px;bottom:82px}}
@media(max-width:520px){.v1-metric-grid{grid-template-columns:1fr 1fr!important}.card-stat-grid{grid-template-columns:1fr}.card-dates{flex-direction:column;gap:5px}.transaction-row{grid-template-columns:auto 1fr auto!important;align-items:center}.transaction-row .row-actions{grid-column:2/4;justify-content:flex-end}.transaction-copy small{white-space:normal}.bank-card-number{font-size:16px}.month-pill{min-width:132px}.modal-form{gap:12px}}

.bank-card .row-actions button{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);color:#fff}.bank-card .row-actions button:hover{background:rgba(255,255,255,.24);color:#fff;border-color:rgba(255,255,255,.34)}
