html,body{margin:0;padding:0}*{box-sizing:border-box}a{color:inherit}button,input,textarea{font:inherit}.page-root{padding-bottom:74px}body{background-color:#f2f2f2;margin:0;padding:0;font-family:Gill Sans,sans-serif}.header{color:#fff;background-color:#128c7e;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:0;padding:15px 5px;display:flex}.header .header-logo{border-radius:8px;width:50px;height:50px;margin-right:10px}.header .header-title{flex-grow:1;align-items:center;min-width:0;font-size:24px;font-weight:700;display:flex}.header .header-title-text{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.header .total-amount{color:#128c7e;white-space:nowrap;background-color:#fff;border-radius:8px;flex-shrink:0;margin-left:15px;padding:5px 10px;font-size:20px}.total-amount:hover{transform:scale(1.05)}.bottom-nav{padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:30;background-color:#fff;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 5px #0000001a}.bottom-nav .nav-item{text-align:center;color:#555;flex:1 1 0;min-width:0;padding:0 4px;text-decoration:none;transition:color .2s}.bottom-nav .nav-item.active{color:#128c7e;font-weight:700}.bottom-nav .nav-item i{font-size:24px;display:block}.bottom-nav .nav-item span{white-space:normal;word-break:break-word;font-size:11px;line-height:1.1;display:block}.bottom-nav .nav-item:hover{color:#128c7e}.search-container{background-color:#fff;padding:14px;box-shadow:0 1px 3px #0000001a}.search-container input{color:#333;box-sizing:border-box;background-color:#f0f2f5;border:none;border-radius:20px;outline:none;width:100%;padding:10px;font-size:16px}.contact-list{margin:0;padding:0}.contact-item{cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#fff;border-bottom:1px solid #ddd;outline:none;align-items:center;padding:14px;display:flex;box-shadow:0 1px 3px #0000001a}.contact-item.non-regular{opacity:.8;background-color:#f9f9f9}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:55px;height:55px;margin-right:15px;font-size:24px;font-weight:700;display:flex}.contact-info{flex-grow:1;min-width:0}.contact-info-link{text-decoration:none}.contact-info h5{color:#128c7e;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;overflow:hidden}.contact-info small{color:#888;font-size:12px;line-height:1.4;display:block}.truncate-text{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.contact-actions{color:#8c8c8c;align-items:center;gap:10px;padding-left:8px;display:flex}.contact-actions span,.contact-actions .action-icon i{background-color:#f0f2f5;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.contact-actions span{color:#2979b6;font-size:14px;font-weight:700}.contact-actions .action-icon{background:0 0;border:0;padding:0;text-decoration:none;position:relative}.contact-actions .action-icon i{cursor:pointer;color:#555;font-size:16px}.contact-actions .action-icon.disabled{opacity:.5;cursor:pointer}.action-icon[data-tooltip]:after,.action-icon[data-tooltip]:before{content:"";opacity:0;visibility:hidden;z-index:10;transition:opacity .3s,visibility .3s;position:absolute}.action-icon[data-tooltip]:after{content:attr(data-tooltip);color:#fff;white-space:normal;text-align:center;background-color:#333;border-radius:5px;width:120px;padding:5px 10px;font-size:12px;bottom:125%;right:0}.action-icon[data-tooltip]:before{border:5px solid #0000;border-top-color:#333;bottom:100%;right:8px}.action-icon.tooltip-visible:after,.action-icon.tooltip-visible:before{opacity:1;visibility:visible}.profile-container,.container{max-width:600px;box-shadow:none;background:#f2f2f2;margin:auto;padding:10px}.profile-header-card{background-color:#fff;border-top:4px solid #128c7e;border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 4px 20px #0000001a}.profile-header-top{align-items:center;gap:15px;margin-bottom:20px;display:flex}.avatar.large{width:70px;height:70px;font-size:32px}.name-details h1{color:#333;margin:0;font-size:24px}.name-details p{color:#777;margin:4px 0 0;font-size:14px}.profile-info-grid{grid-template-columns:1fr;gap:15px;margin-bottom:25px;display:grid}.info-item{color:#555;background-color:#f8f9fa;border-radius:8px;align-items:center;gap:10px;padding:12px;font-size:14px;display:flex}.info-item i{color:#128c7e;font-size:16px}.info-item.bakaya{gap:12px;padding:8px 12px}.bakaya-details span{font-size:12px;line-height:1.2;display:block}.bakaya-details strong{font-size:24px;line-height:1}.info-item.no-bakaya{color:#128c7e;background-color:#e7f7ef}.info-item.no-bakaya i,.info-item.no-bakaya strong{color:#28a745}.info-item.high-bakaya{color:#c9302c;background-color:#fdeaea}.info-item.high-bakaya i,.info-item.high-bakaya strong{color:#dc3545}.info-item.is-regular{color:#128c7e;background-color:#e7f7ef;font-weight:700}.info-item.is-regular i{color:#28a745}.info-item.not-regular{color:#e67e22;background-color:#fff8e1}.info-item.not-regular i{color:#e67e22}.action-buttons{flex-direction:column;gap:10px;margin-top:20px;display:flex}.action-button{color:#fff;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 10px;font-size:16px;font-weight:700;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 4px 6px #0000001a}.action-button:not(.disabled):hover{opacity:.9;transform:translateY(-2px)}.action-button:not(.disabled):active{transform:translateY(1px)}.call-now{background-color:#007bff}.whatsapp{background-color:#25d366}.action-button.disabled{opacity:.7;cursor:not-allowed;pointer-events:none;background-color:#cdd2d6}.payment-history-list{margin-top:30px;padding:0 10px}.month-card{background-color:#fff;border-left:5px solid #0000;border-radius:10px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;padding:15px 20px;transition:all .3s;display:flex;box-shadow:0 2px 8px #00000012}.month-card:hover{transform:scale(1.02);box-shadow:0 4px 12px #0000001a}.month-card.paid{border-left-color:#28a745}.month-card.not-paid{border-left-color:#dc3545}.month-details{color:#333;align-items:center;gap:12px;font-weight:500;display:flex}.month-details i{color:#128c7e}.payment-status .status-badge{text-align:center;border-radius:20px;min-width:90px;padding:6px 15px;font-size:13px;font-weight:700;display:inline-block}.payment-status.paid .status-badge{color:#28a745;background-color:#28a7451a}.payment-status.not-paid .status-badge{color:#dc3545;background-color:#dc35451a}.payment-status small{color:#555;font-size:.9em;font-weight:400}.summary-cards-container{grid-template-columns:1fr;gap:15px;margin:20px 0;display:grid}.summary-card{background-color:#fff;border-top:4px solid;border-radius:10px;align-items:center;gap:15px;min-width:0;padding:16px;display:flex;box-shadow:0 4px 12px #00000012}.summary-card i{font-size:2em}.summary-card .card-content span{color:#666;font-size:.9em;display:block}.summary-card .card-content h4{color:#333;margin:5px 0 0;font-size:clamp(1.2rem,5vw,1.5rem)}.summary-card.green{border-color:#28a745}.summary-card.green i{color:#28a745}.summary-card.red{border-color:#dc3545}.summary-card.red i{color:#dc3545}.summary-card.blue{border-color:#007bff}.summary-card.blue i{color:#007bff}.expenses-container{padding:10px 0}.category-accordion{border-radius:10px;margin-bottom:15px;overflow:hidden;box-shadow:0 4px 12px #00000014}.category-header{cursor:pointer;text-align:left;background-color:#fff;border:0;border-bottom:1px solid #f0f0f0;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;width:100%;padding:15px 20px;transition:background-color .3s;display:flex}.category-header:hover{background-color:#f8f9fa}.category-title{color:#495057;align-items:center;gap:10px;font-size:1.1em;font-weight:700;display:flex}.category-total-amount{color:#d9534f;align-items:center;gap:8px;font-size:1em;font-weight:500;display:inline-flex}.category-header .toggle-icon{color:#555;font-size:1em;transition:transform .3s}.category-header.open .toggle-icon{transform:rotate(180deg)}.expenses-list{background-color:#f8f9fa;padding:15px;display:none}.expenses-list.open{display:block}.expense-card{background-color:#fff;border-left:4px solid #495057;border-radius:8px;margin-bottom:10px;padding:15px}.expense-card:last-child{margin-bottom:0}.expense-card h5{color:#333;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:6px;margin:0 0 8px;font-size:1em;display:flex}.expense-amount{color:#444;font-weight:700}.expense-card p{color:#666;margin:4px 0;font-size:.9em;line-height:1.5}.expense-card p i{color:#999;margin-right:8px}.timeline-container{margin-top:30px}.timeline-year{text-align:center;margin:20px 0}.timeline-year span{color:#fff;background-color:#007bff;border-radius:15px;padding:5px 15px;font-size:1em;font-weight:700}.timeline{border-left:3px solid #dee2e6;padding-left:30px;list-style:none;position:relative}.timeline-item{margin-bottom:25px;position:relative}.timeline-item:before{content:"";background-color:#fff;border:3px solid #007bff;border-radius:50%;width:15px;height:15px;position:absolute;top:5px;left:-37.5px}.timeline-content{background-color:#fff;border-radius:8px;padding:15px;transition:transform .2s;box-shadow:0 4px 12px #00000014}.timeline-item:hover .timeline-content{transform:translate(5px)}.timeline-content h5{color:#495057;align-items:center;gap:8px;margin:0 0 10px;font-size:1.1em;display:flex}.timeline-content p{color:#343a40;margin:0;font-size:1.6em;font-weight:700}.page-description{color:#555;background-color:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin-bottom:25px;padding:15px;font-size:1em;line-height:1.6}.page-description p{margin:0}.page-description p:last-child{margin-top:10px}.bakaya-months[data-value="0"]{color:green}.bakaya-months[data-value]:not([data-value="0"]){color:red}.category-total{display:none}.donate-section,.contact-container{background-color:#fff;border-radius:8px;max-width:800px;margin:30px auto;padding:20px;box-shadow:0 4px 8px #0000001a}.section-title{color:#128c7e;border-bottom:2px solid #128c7e;margin-top:20px;padding-bottom:5px;font-size:1.5em}.content{color:#333;margin-top:15px;font-size:1em;line-height:1.6}.content ul{padding-left:18px}.donate-section h1,.donate-section h2,.contact-title{color:#128c7e;border-bottom:2px solid #128c7e;margin-top:20px;padding-bottom:5px;font-size:1.5em;font-weight:700}.donation-form,.contact-form{margin-top:20px}.donation-form input,.donation-form textarea,.contact-form input,.contact-form textarea{border:1px solid #ddd;border-radius:5px;width:100%;margin:10px 0;padding:10px;font-size:16px}.donation-form button,.contact-form button,.sync-button{color:#fff;cursor:pointer;background-color:#128c7e;border:none;border-radius:5px;padding:10px 20px;font-size:16px}.donation-form button:hover,.contact-form button:hover,.sync-button:hover{background-color:#0f6e64}.contact-admin ul{padding:0;list-style:none}.contact-admin ul li{margin-bottom:10px;font-size:16px}.contact-admin ul li i{color:#128c7e;margin-right:10px}.contact-admin ul li a{color:#128c7e;text-decoration:none}.contact-admin ul li a:hover{text-decoration:underline}.message,.empty-state,.setup-card,.sync-card,.sync-log-card{background:#fff;border-radius:10px;padding:16px 18px;box-shadow:0 4px 12px #00000014}.empty-state,.setup-card{max-width:600px;margin:20px auto}.sync-page{max-width:900px;margin:0 auto;padding:20px}.sync-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.sync-card h2,.sync-log-card h2{margin-top:0}.sync-button-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.sync-button.secondary{background-color:#007bff}.sync-button.secondary:hover{background-color:#0065d1}.sync-button[disabled]{opacity:.6;cursor:wait}.sync-output{background:#f8f9fa;border-radius:8px;margin-top:16px;padding:12px}.sync-log{gap:12px;margin-top:16px;display:grid}.sync-log-item{border:1px solid #ececec;border-radius:8px;padding:12px}.sync-status{text-transform:capitalize;font-weight:700}.sync-status.success{color:#28a745}.sync-status.failed{color:#dc3545}.sync-meta{color:#666;font-size:.95rem}.mono{white-space:pre-wrap;word-break:break-word;font-family:Consolas,Courier New,monospace}@keyframes saharaSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes saharaLoaderPulse{0%,to{opacity:.7;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}@keyframes saharaLoaderSlide{0%{transform:translate(-100%)}to{transform:translate(220%)}}.app-skeleton{background:linear-gradient(90deg,#e6ecf1 0%,#f7f9fb 50%,#e6ecf1 100%) 0 0/200% 100%;border-radius:12px;animation:1.35s ease-in-out infinite saharaSkeletonShimmer;position:relative;overflow:hidden}.skeleton-surface{overflow:hidden}.skeleton-stack{gap:10px;display:grid}.skeleton-line{border-radius:999px;height:12px}.skeleton-line-title{height:18px}.skeleton-page-heading{margin-bottom:18px}.skeleton-avatar{border-radius:50%;flex-shrink:0;width:55px;height:55px}.skeleton-action{border-radius:50%;width:30px;height:30px}.skeleton-contact-info{flex:1;min-width:0}.skeleton-contact-actions{gap:10px;padding-left:8px;display:flex}.skeleton-search-input{border-radius:20px;width:100%;height:44px}.skeleton-summary-icon{border-radius:14px;flex-shrink:0;width:42px;height:42px}.skeleton-header-title{border-radius:999px;width:min(58vw,320px);height:28px}.skeleton-header-balance{border-radius:8px;flex-shrink:0;width:104px;height:36px}.skeleton-year-pill{border-radius:999px;width:72px;height:30px;margin:0 auto}.skeleton-profile-avatar{border-radius:50%;flex-shrink:0;width:70px;height:70px}.skeleton-info-icon{border-radius:50%;flex-shrink:0;width:18px;height:18px}.skeleton-action-button{border-radius:10px;width:100%;height:46px}.skeleton-month-icon{border-radius:50%;flex-shrink:0;width:18px;height:18px}.skeleton-status-chip{border-radius:999px;width:112px;height:30px}.skeleton-content-stack{gap:22px;display:grid}.skeleton-content-section{gap:12px;display:grid}.skeleton-form-input{border-radius:10px;width:100%;height:44px}.skeleton-form-textarea{border-radius:12px;width:100%;height:116px}.skeleton-form-button{border-radius:8px;width:180px;max-width:100%;height:44px}.skeleton-sync-button{border-radius:8px;width:132px;max-width:100%;height:42px}.sync-running-state{background:#f8fbfb;border:1px solid #d8ece8;border-radius:10px;margin-top:16px;padding:14px 16px}.sync-running-head{color:#128c7e;align-items:center;gap:10px;display:flex}.sync-running-state p{color:#46625f;margin:10px 0 12px}.sync-loader-dot{background-color:#128c7e;border-radius:50%;width:10px;height:10px;animation:1s ease-in-out infinite saharaLoaderPulse}.sync-running-bar{background:#e2f0ed;border-radius:999px;height:8px;position:relative;overflow:hidden}.sync-running-bar-fill{background:linear-gradient(90deg,#128c7e26 0%,#128c7ecc 50%,#128c7e26 100%);width:40%;animation:1.2s ease-in-out infinite saharaLoaderSlide;position:absolute;inset:0 auto 0 0}@media (max-width:768px){.profile-header-card{padding:16px}}@media (min-width:480px){.action-buttons{flex-direction:row}}@media (min-width:640px){.bottom-nav .nav-item span{word-break:normal;font-size:12px}.search-container{padding:15px 20px}.contact-item{padding:15px}.summary-cards-container{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-card{padding:20px}.category-header,.expense-card h5,.month-card{flex-direction:row;align-items:center}}@media (max-width:420px){.header{padding:12px 5px}.header .header-title{font-size:21px}.header .total-amount{margin-left:10px;padding:5px 9px;font-size:18px}.skeleton-header-title{width:min(52vw,220px)}.skeleton-header-balance{width:90px;height:34px}}@media (min-width:768px){.profile-info-grid{grid-template-columns:1fr 1fr}}
