@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&family=Outfit:wght@100..900&display=swap";:root{--lego-yellow: #FFD400;--lego-red: #E60012;--lego-blue: #0055A5;--lego-green: #00AA47;--lego-orange: #F57E20;--lego-purple: #7B2D8E;--lego-dark: #2C2C2C;--lego-light: #F2F5F8;--lego-border: #1E1E1E;--font-playful: "Fredoka", "Segoe UI", sans-serif;--font-body: "Outfit", "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{font-family:var(--font-body);background-color:#f0ede8;color:var(--lego-dark);min-height:100vh;overflow-x:hidden}body{background-image:radial-gradient(circle,rgba(255,212,0,.12) 10%,transparent 11%),radial-gradient(circle,rgba(230,0,18,.08) 10%,transparent 11%),radial-gradient(circle,rgba(0,85,165,.08) 10%,transparent 11%),radial-gradient(circle,rgba(0,170,71,.08) 10%,transparent 11%);background-size:60px 60px;background-position:0 0,30px 30px,15px 45px,45px 15px;background-attachment:fixed;padding-bottom:72px}.app-container{max-width:480px;margin:0 auto;background:#ffffffeb;min-height:100vh;border-left:3px solid var(--lego-border);border-right:3px solid var(--lego-border);box-shadow:0 0 40px #0000001a;position:relative;display:flex;flex-direction:column}header{background:linear-gradient(135deg,var(--lego-yellow) 0%,#FFE066 100%);border-bottom:4px solid var(--lego-border);padding:14px 16px 10px;position:sticky;top:0;z-index:100;box-shadow:0 4px #00000014}.header-top{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:10px}.lego-logo{width:42px;height:42px;background:var(--lego-red);border:3px solid var(--lego-border);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-playful);font-weight:900;font-size:18px;box-shadow:2px 2px 0 var(--lego-border);transform:rotate(-3deg);position:relative}.lego-logo:after{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:16px;height:6px;background:#c40010;border:2px solid var(--lego-border);border-radius:4px 4px 0 0}.brand-title{font-family:var(--font-playful);font-size:20px;font-weight:700;color:var(--lego-dark);text-shadow:1px 1px 0px rgba(255,255,255,.6);line-height:1.1}.brand-subtitle{font-size:11px;font-weight:500;color:#666;display:block}.add-brick-btn{background:var(--lego-green);color:#fff;border:3px solid var(--lego-border);border-radius:12px;padding:8px 14px;font-family:var(--font-playful);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:5px;box-shadow:3px 3px 0 var(--lego-border);transition:transform .1s,box-shadow .1s;white-space:nowrap}.add-brick-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--lego-border)}.user-toggle-bar{display:flex;background:#e8e8e8;border:3px solid var(--lego-border);border-radius:12px;padding:3px;margin-top:10px;box-shadow:2px 2px 0 var(--lego-border);position:relative;gap:4px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.user-toggle-bar::-webkit-scrollbar{display:none}.user-toggle-btn{flex:1;min-width:fit-content;border:none;background:transparent;padding:8px 12px;font-family:var(--font-playful);font-size:13px;font-weight:700;cursor:pointer;border-radius:8px;color:#666;transition:all .2s cubic-bezier(.175,.885,.32,1.275);text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:4px}.user-toggle-btn.active{background:var(--lego-green);color:#fff;box-shadow:inset 1px 1px 3px #0003}.user-toggle-btn.active#user-btn-fajar,.user-toggle-btn.active#saver-btn-fajar{background:var(--lego-blue);color:#fff;box-shadow:inset 1px 1px 3px #0003}.user-toggle-btn.active#user-btn-aina,.user-toggle-btn.active#saver-btn-aina{background:var(--lego-red);color:#fff;box-shadow:inset 1px 1px 3px #0003}.user-toggle-btn.active[id^=savings-tab-]{background:var(--lego-purple);color:#fff}.user-toggle-btn.active[id^=checklist-tab-]{background:var(--lego-green);color:#fff}.studs-row{display:flex;justify-content:space-around;padding:6px 0 2px;margin-top:8px}.stud{width:14px;height:7px;background:#0000001a;border-radius:4px 4px 0 0;border:1px solid rgba(0,0,0,.05)}.screen{display:none;padding:16px;flex:1}.screen.active{display:block;animation:popIn .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.brick-list{display:flex;flex-direction:column;gap:14px}.brick-card{background:#ffffffb3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid rgba(255,255,255,.9);border-radius:20px;padding:16px;position:relative;box-shadow:0 8px 25px #0055a514;transition:transform .2s,box-shadow .2s;cursor:pointer}.brick-card:hover,.brick-card:active{transform:translateY(-2px);box-shadow:0 12px 30px #0055a524}.brick-yellow{border-left:5px solid #00B4DB}.brick-red{border-left:5px solid #E84A5F}.brick-blue{border-left:5px solid #0055A5}.brick-green{border-left:5px solid #10B981}.brick-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px dashed rgba(0,85,165,.15)}.brick-date{font-family:var(--font-playful);font-size:15px;font-weight:700;color:#0a3866}.brick-day-badge{background:linear-gradient(135deg,#0055a5,#00b4db);color:#fff;padding:3px 12px;border-radius:20px;font-size:11px;font-weight:700;font-family:var(--font-playful);box-shadow:0 2px 8px #0055a540}.meal-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.meal-mini-card{background:#fff9;border:1px solid rgba(255,255,255,.85);border-radius:12px;padding:8px 4px;text-align:center;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #00000008}.meal-mini-card.filled{background:#ecfdf5d9;border:1px solid rgba(16,185,129,.4)}.meal-mini-card.filled.beli{background:#e0f2fed9;border:1px solid rgba(0,180,219,.4)}.meal-icon{font-size:16px}.meal-label{font-weight:700;color:#667d94;font-size:10px}.meal-mini-card.filled .meal-label{color:#0a3866}.meal-name-preview{font-size:10px;font-weight:600;color:#4b637b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 2px}.meal-type-label{font-size:7px;font-weight:800;text-transform:uppercase;padding:1px 4px;border-radius:3px;margin-top:1px;margin-bottom:2px;display:inline-block;letter-spacing:.2px}.meal-type-label.rencana{background:#fff3cd;color:#856404;border:1px solid #FFEBAA}.meal-type-label.realisasi{background:#d4edda;color:#155724;border:1px solid #C3E6CB}.meal-badge{font-size:7px;font-weight:700;padding:1px 4px;border-radius:4px;color:#fff;text-transform:uppercase;letter-spacing:.3px}.badge-masak{background:var(--lego-green)}.badge-beli{background:var(--lego-blue)}.badge-hidden{display:none}.brick-footer-info{margin-top:8px;font-size:11px;color:#555;display:flex;align-items:center;gap:6px;background:#fafafa;padding:6px 10px;border-radius:8px;border:1px solid #E8E8E8}.brick-footer-info .kesan-text{font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.photo-indicator{font-size:9px;background:#eee;padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.empty-state{text-align:center;padding:50px 20px;background:#fff;border:3px dashed #CCC;border-radius:20px}.empty-state .emoji{font-size:48px;margin-bottom:12px}.empty-state .msg{font-weight:700;font-size:16px;font-family:var(--font-playful)}.empty-state .hint{font-size:13px;color:#888;margin-top:6px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:none;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-overlay.active{display:flex}.modal-content{background:#fff;border-top:5px solid var(--lego-border);border-left:3px solid var(--lego-border);border-right:3px solid var(--lego-border);border-radius:24px 24px 0 0;width:100%;max-width:480px;max-height:92vh;overflow-y:auto;padding:20px 16px 24px;box-shadow:0 -10px 30px #0003;animation:slideUp .3s cubic-bezier(.175,.885,.32,1.1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-handle{width:40px;height:5px;background:#ccc;border-radius:5px;margin:0 auto 14px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-title{font-family:var(--font-playful);font-size:18px;font-weight:700}.close-btn{background:var(--lego-light);border:2px solid var(--lego-border);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer;box-shadow:2px 2px 0 var(--lego-border)}.close-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--lego-border)}.form-group{margin-bottom:14px}.form-label{font-family:var(--font-playful);font-size:13px;font-weight:600;margin-bottom:5px;display:block;color:#444}.input-lego{width:100%;padding:10px;border:3px solid var(--lego-border);border-radius:10px;font-size:14px;font-family:var(--font-body);box-shadow:2px 2px 0 var(--lego-border);outline:none;transition:border-color .2s;background:#fff}.input-lego:focus{border-color:var(--lego-blue)}.meal-block-editor{border:3px solid var(--lego-border);border-radius:14px;padding:10px 12px;margin-bottom:12px;box-shadow:2px 2px #0000000d}.meal-block-editor.pagi{background:#fffceb;border-left:6px solid var(--lego-yellow)}.meal-block-editor.siang{background:#f0f6ff;border-left:6px solid var(--lego-blue)}.meal-block-editor.sore{background:#fff2f2;border-left:6px solid var(--lego-red)}.meal-block-editor.kudapan{background:#f3fff6;border-left:6px solid var(--lego-green)}.meal-editor-title{font-family:var(--font-playful);font-size:14px;font-weight:600;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}.btn-toggle-group{display:flex;border:2px solid var(--lego-border);border-radius:8px;overflow:hidden;box-shadow:2px 2px 0 var(--lego-border)}.btn-toggle{padding:4px 12px;font-size:11px;font-weight:700;font-family:var(--font-playful);border:none;cursor:pointer;background:#fff;color:#666;transition:background .15s,color .15s}.btn-toggle.active.masak{background:var(--lego-green);color:#fff}.btn-toggle.active.beli{background:var(--lego-blue);color:#fff}.grid-plan-realization{display:grid;grid-template-columns:1fr 1fr;gap:6px}.grid-plan-realization label{font-size:10px;font-weight:700;color:#777;margin-bottom:3px;display:block}.grid-plan-realization .input-lego{padding:7px 8px;font-size:13px;box-shadow:1px 1px 0 var(--lego-border)}.meal-extra-fields{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.1);display:grid;grid-template-columns:1.2fr 1fr;gap:8px}.compact-label{font-size:10px!important;font-weight:700!important;margin-bottom:2px!important;color:#555}.compact-input{padding:6px 8px!important;font-size:12px!important;box-shadow:1px 1px 0 var(--lego-border)!important;border-radius:8px!important}.compact-photo-container{border:2px dashed var(--lego-border);border-radius:10px;padding:4px;background:#fafbfd;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.compact-photo-preview{width:100%;height:60px;object-fit:cover;border-radius:6px;border:1px solid var(--lego-border);display:none}.compact-photo-preview.visible{display:block}.photo-source-buttons{display:flex;gap:4px;width:100%}.compact-photo-preview.visible+.photo-source-buttons{display:none}.btn-source{flex:1;padding:5px 2px;font-size:9px;font-weight:800;font-family:var(--font-playful);border:2px solid var(--lego-border);border-radius:6px;cursor:pointer;background:#fff;color:var(--lego-dark);box-shadow:1px 1px 0 var(--lego-border);display:flex;align-items:center;justify-content:center;gap:2px;transition:transform .1s}.btn-source:active{transform:translate(1px,1px);box-shadow:0 0 0 var(--lego-border)}.btn-remove-photo-compact{position:absolute;top:2px;right:2px;background:var(--lego-red);color:#fff;border:1.5px solid var(--lego-border);border-radius:4px;font-size:8px;font-weight:800;padding:1px 4px;cursor:pointer;box-shadow:1px 1px 0 var(--lego-border);display:none;z-index:5;transition:transform .1s}.btn-remove-photo-compact:active{transform:translate(1px,1px)}.compact-photo-preview.visible~.btn-remove-photo-compact{display:block}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.btn-action{padding:12px;border:3px solid var(--lego-border);border-radius:12px;font-family:var(--font-playful);font-size:15px;font-weight:700;cursor:pointer;box-shadow:3px 3px 0 var(--lego-border);text-align:center;transition:transform .1s,box-shadow .1s}.btn-action:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--lego-border)}.btn-save{background:var(--lego-green);color:#fff}.btn-cancel{background:#eee;color:var(--lego-dark)}.btn-delete{background:var(--lego-red);color:#fff;grid-column:span 2;margin-top:4px;display:none}.btn-delete.visible{display:block}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:#fff;border-top:4px solid var(--lego-border);display:flex;justify-content:space-around;padding:6px 0;z-index:200;box-shadow:0 -4px 12px #0000000f}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:700;font-family:var(--font-playful);color:#8e8e93;text-decoration:none;cursor:pointer;flex:1;padding:4px 0;transition:color .2s}.nav-icon{font-size:22px;transition:transform .2s;display:flex;align-items:center;justify-content:center;height:24px}.nav-svg-icon{width:22px;height:22px;stroke:#8e8e93;transition:stroke .2s,transform .2s}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-item[data-screen=journal].active{color:var(--lego-blue)}.nav-item[data-screen=journal].active .nav-svg-icon{stroke:var(--lego-blue)}.nav-item[data-screen=savings].active{color:var(--lego-purple)}.nav-item[data-screen=savings].active .nav-svg-icon{stroke:var(--lego-purple)}.nav-item[data-screen=checklist].active{color:var(--lego-green)}.nav-item[data-screen=checklist].active .nav-svg-icon{stroke:var(--lego-green)}.stats-header{font-family:var(--font-playful);font-size:20px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}.stats-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.stats-card{background:#fff;border:3px solid var(--lego-border);border-radius:12px;padding:12px;text-align:center;box-shadow:3px 3px 0 var(--lego-border)}.stats-card .label{font-size:11px;font-weight:700;color:#666}.stats-card .emoji{font-size:20px;margin-bottom:2px}.stats-val{font-family:var(--font-playful);font-size:30px;font-weight:700;margin-top:4px}.stats-chart-box{background:#fff;border:3px solid var(--lego-border);border-radius:16px;padding:14px;box-shadow:3px 3px 0 var(--lego-border);margin-bottom:16px}.stats-chart-box h3{font-family:var(--font-playful);font-size:15px;margin-bottom:12px}.chart-bar-container{display:flex;flex-direction:column;gap:10px}.chart-bar-row{display:flex;align-items:center;gap:10px}.chart-label{width:55px;font-size:12px;font-weight:700}.chart-bar-track{flex:1;height:22px;background:#eee;border:2px solid var(--lego-border);border-radius:11px;overflow:hidden}.chart-bar-fill{height:100%;width:0%;border-radius:0 11px 11px 0;transition:width .8s ease-out}.chart-val-label{font-size:12px;font-weight:700;width:35px;text-align:right}.meal-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.meal-stat-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:6px 8px;background:#f8f8f8;border-radius:8px;border:1px solid #E0E0E0}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#f0ede8f2;z-index:9999;display:none;align-items:center;justify-content:center;flex-direction:column;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box}.loading-overlay.active{display:flex}.skeleton-container{width:100%;max-width:448px;display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.skeleton-header{height:80px;background:linear-gradient(90deg,#e0e0e0 25%,#f5f5f5,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;border-radius:12px;border:3px solid var(--lego-border)}.skeleton-card{height:120px;background:linear-gradient(90deg,#e0e0e0 25%,#f5f5f5,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;border-radius:16px;border:3px solid var(--lego-border);box-shadow:4px 4px 0 var(--lego-border)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-text{font-family:var(--font-playful);font-size:16px;font-weight:700;color:var(--lego-dark)}.savings-recap-box{background:#fff;border:3px solid var(--lego-border);border-radius:16px;padding:14px;box-shadow:4px 4px 0 var(--lego-border);margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.recap-title{font-family:var(--font-playful);font-size:16px;font-weight:700;text-align:center;color:var(--lego-dark)}.recap-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recap-card{border:3px solid var(--lego-border);border-radius:12px;padding:10px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:2px 2px 0 var(--lego-border)}.recap-card.fajar{background:#f0f6ff;border-left:6px solid var(--lego-blue)}.recap-card.aina{background:#fff2f2;border-left:6px solid var(--lego-red)}.recap-card .avatar{font-size:24px;margin-bottom:2px}.recap-card .label{font-size:10px;font-weight:700;color:#557064}.recap-card .value{font-family:var(--font-playful);font-size:16px;font-weight:700;margin-top:4px;color:#034e36}.savings-recap-box{background:#ffffffb3!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid rgba(255,255,255,.9)!important;border-radius:20px!important;box-shadow:0 8px 25px #065f4614!important;margin-bottom:16px;padding:16px}.stats-card{background:#ffffffa6!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1.5px solid rgba(255,255,255,.85)!important;border-radius:16px!important;box-shadow:0 6px 20px #0000000a!important;padding:12px}.recap-card{background:#ffffffa6!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1.5px solid rgba(255,255,255,.85)!important;border-radius:16px!important;box-shadow:0 4px 15px #00000008!important}.grand-total-card{background:#ffffffbf!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1.5px solid rgba(255,255,255,.9)!important;border-left:5px solid #10B981!important;border-radius:16px!important;padding:14px!important;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 15px #065f460f!important}.grand-total-card .label{font-family:var(--font-playful);font-size:14px;font-weight:700;color:#034e36}.grand-total-card .value{font-family:var(--font-playful);font-size:20px;font-weight:700;color:#065f46}.prediction-box h3{color:var(--lego-purple)}.form-group-compact{margin-bottom:12px}.form-label-compact{font-family:var(--font-playful);font-size:12px;font-weight:600;margin-bottom:4px;display:block;color:#555}.input-compact{padding:8px 10px!important;font-size:13px!important;border-radius:8px!important}.ratio-segmented-control{display:flex;background:#e8e8e8;border:2px solid var(--lego-border);border-radius:8px;padding:2px;gap:3px;box-shadow:1px 1px 0 var(--lego-border)}.ratio-btn{flex:1;border:none;background:transparent;padding:6px 0;font-family:var(--font-playful);font-size:11px;font-weight:700;cursor:pointer;border-radius:6px;color:#666;transition:all .2s ease;text-align:center}.ratio-btn.active{background:var(--lego-purple);color:#fff;box-shadow:inset 1px 1px 2px #0003}.prediction-results{background:#faf8f5;border:2px dashed var(--lego-border);border-radius:10px;padding:10px;margin-top:14px;display:flex;flex-direction:column;gap:6px}.pred-item{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600}.pred-item strong{font-family:var(--font-playful);font-size:15px}.savings-list-header{display:flex;justify-content:space-between;align-items:center;margin-top:20px;margin-bottom:12px}.savings-list-header span{font-family:var(--font-playful);font-size:16px;font-weight:700}.btn-savings-add{background:var(--lego-purple)!important}.brick-purple{border-left:8px solid var(--lego-purple)!important}.savings-card-content{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.savings-card-left{display:flex;flex-direction:column;gap:2px}.saver-badge{align-self:flex-start;font-family:var(--font-playful);font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;border:1.5px solid var(--lego-border);color:#fff!important;box-shadow:1px 1px 0 var(--lego-border);margin-bottom:4px;display:inline-block}.user-breakdown{display:flex;flex-direction:column;gap:2.5px;font-size:10px;color:#555;margin-top:8px;border-top:1px dashed #CCC;padding-top:8px;width:100%;text-align:left}.user-breakdown span{display:flex;justify-content:space-between;align-items:center;font-weight:500}.user-breakdown strong{font-weight:700;color:var(--lego-dark)}.saver-badge.fajar{background:var(--lego-blue)}.saver-badge.aina{background:var(--lego-red)}.saver-badge.jenis-badge{background:var(--lego-purple);margin-left:4px}.savings-type-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#fff;border:2px solid var(--lego-border);border-radius:8px;box-shadow:1px 1px 0 var(--lego-border);font-family:var(--font-playful);font-size:13px;font-weight:700}.btn-delete-type{background:var(--lego-red);color:#fff;border:1.5px solid var(--lego-border);border-radius:4px;font-size:10px;padding:2px 6px;cursor:pointer;box-shadow:1px 1px 0 var(--lego-border);font-family:var(--font-playful);font-weight:700;transition:transform .1s}.btn-delete-type:active{transform:translate(1px,1px);box-shadow:0 0 0 var(--lego-border)}.savings-card-left .desc{font-size:13px;color:#444;font-weight:500}.savings-card-right{font-family:var(--font-playful);font-size:18px;font-weight:700;color:var(--lego-dark)}.savings-info-summary{background:#f8f9fc;border:3px solid var(--lego-border);border-radius:12px;padding:10px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:6px;box-shadow:2px 2px 0 var(--lego-border)}.savings-info-summary .info-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:#444}.savings-info-summary .info-row strong{font-family:var(--font-playful);font-size:13px;color:var(--lego-dark)}.savings-insight-box{background:#fffceb;border:3px dashed var(--lego-purple);border-radius:12px;padding:12px;margin-bottom:16px;font-size:13px;line-height:1.5;color:#333;font-weight:500;display:flex;align-items:flex-start;gap:8px;box-shadow:2px 2px #7b2d8e26}.insight-icon{font-size:18px;flex-shrink:0}.insight-content{flex:1}.brick-orange{border-left:8px solid var(--lego-orange)!important}.cashflow-card-grid{display:flex;flex-direction:column;gap:8px;margin-top:6px}.cf-row-user{display:flex;justify-content:space-between;align-items:center}.cf-values{display:flex;gap:12px;font-size:13px;font-weight:700}.cf-inc{color:var(--lego-green)}.cf-exp{color:var(--lego-orange)}.cf-divider{height:2px;background:#e8e8e8;margin:4px 0;border-radius:1px}.cf-row-total{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:14px}.cf-total-label{color:#555}.cf-total-val.pos{color:var(--lego-green)}.cf-total-val.neg{color:var(--lego-red)}.lego-house-box{background:#fff;border:3px solid var(--lego-border);border-radius:16px;padding:16px;box-shadow:4px 4px 0 var(--lego-border);margin-bottom:16px;text-align:center;position:relative;overflow:hidden}.lego-house-box h3{font-family:var(--font-playful);font-size:15px;margin-bottom:12px;color:var(--lego-purple)}.lego-building-area{width:100%;height:180px;background:#e8f5ff;border:3px solid var(--lego-border);border-radius:12px;position:relative;overflow:hidden;box-shadow:inset 2px 2px 5px #0000000d}.lego-sky-cloud{position:absolute;background:#fff;border:2px solid var(--lego-border);border-radius:10px;height:20px;width:50px;box-shadow:1px 1px 0 var(--lego-border)}.lego-sky-cloud:before{content:"";position:absolute;background:#fff;border:2px solid var(--lego-border);border-radius:50%;width:24px;height:24px;top:-12px;left:8px;border-bottom:none}.lego-sky-cloud:after{content:"";position:absolute;background:#fff;border:2px solid var(--lego-border);border-radius:50%;width:18px;height:18px;top:-8px;left:26px;border-bottom:none;border-left:none}.cloud-1{top:20px;left:15px;animation:floatCloud 20s infinite linear}.cloud-2{top:35px;right:20px;animation:floatCloud 25s infinite linear reverse}@keyframes floatCloud{0%{transform:translate(0)}50%{transform:translate(10px)}to{transform:translate(0)}}.lego-ground{position:absolute;bottom:0;left:0;right:0;height:16px;background:var(--lego-green);border-top:3px solid var(--lego-border);z-index:2}.house-part{position:absolute;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .3s;transform:scale(0);opacity:0;z-index:3}.house-part.built{transform:scale(1);opacity:1}.brick-element{border:3px solid var(--lego-border);border-radius:6px;box-shadow:inset -3px -3px #00000026,2px 2px #0000001a;position:relative;height:100%;width:100%;box-sizing:border-box}.brick-studs{position:absolute;top:-7px;left:0;right:0;display:flex;justify-content:space-around;padding:0 4px}.brick-stud{width:8px;height:5px;border:2px solid var(--lego-border);border-bottom:none;border-radius:3px 3px 0 0;background:inherit}.part-base{bottom:16px;left:50%;transform:translate(-50%) scale(0);width:140px;height:8px;background:#5c4033;border:2px solid var(--lego-border);border-bottom:none;z-index:3}.part-base.built{transform:translate(-50%) scale(1)}.part-flowers{bottom:16px;left:48px;width:30px;height:15px;display:flex;gap:6px}.flower-stem{width:3px;height:12px;background:var(--lego-green);position:relative}.flower-head{position:absolute;top:-4px;left:-3px;width:9px;height:9px;background:var(--lego-red);border:1.5px solid var(--lego-border);border-radius:50%}.flower-stem:nth-child(2) .flower-head{background:var(--lego-yellow)}.part-tree{bottom:16px;left:14px;width:28px;height:65px}.tree-trunk{position:absolute;bottom:0;left:10px;width:8px;height:35px;background:#8b5a2b;border:2px solid var(--lego-border);border-radius:2px 2px 0 0}.tree-leaves{position:absolute;top:0;left:0;width:28px;height:35px;background:var(--lego-green);border:3px solid var(--lego-border);border-radius:50%;box-shadow:inset -3px -3px #00000026}.part-fence{bottom:16px;right:12px;width:32px;height:18px;display:flex;align-items:flex-end;gap:4px}.fence-post{width:6px;height:18px;background:#fff;border:2px solid var(--lego-border);border-radius:2px 2px 0 0}.fence-rail{position:absolute;top:6px;left:0;right:0;height:4px;background:#fff;border:1.5px solid var(--lego-border)}.part-wall-first{bottom:24px;left:calc(50% - 65px);width:130px;height:55px;background:var(--lego-blue);border:3px solid var(--lego-border);border-radius:6px;box-shadow:inset -4px -4px #00000026}.part-door-luxury{bottom:24px;left:calc(50% - 18px);width:36px;height:55px;background:#d4af37;border:3px solid var(--lego-border);border-radius:12px 12px 0 0;box-shadow:inset -3px -3px #00000026,2px 2px #0000001a;display:flex;align-items:center;justify-content:center;z-index:4}.part-door-luxury:after{content:"🔑";font-size:10px;margin-left:12px}.part-window-luxury{bottom:35px;left:calc(50% + 24px);width:32px;height:32px;background:#fff59d;border:3px solid var(--lego-border);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 10px #ffeb3b80;z-index:4}.part-window-luxury:before{content:"";position:absolute;width:100%;height:3px;background:var(--lego-border)}.part-window-luxury:after{content:"";position:absolute;width:3px;height:100%;background:var(--lego-border)}.part-balcony{bottom:79px;left:calc(50% - 50px);width:100px;height:12px;background:#fff;border:3px solid var(--lego-border);border-radius:4px;z-index:5;box-shadow:1px 1px 0 var(--lego-border)}.balcony-rail{position:absolute;top:-8px;left:6px;right:6px;height:8px;border-left:2px solid var(--lego-border);border-right:2px solid var(--lego-border);border-top:2px solid var(--lego-border)}.part-wall-second{bottom:91px;left:calc(50% - 40px);width:80px;height:42px;background:var(--lego-yellow);border:3px solid var(--lego-border);border-radius:4px;box-shadow:inset -3px -3px #00000026;z-index:4}.second-floor-window{position:absolute;top:6px;left:50%;transform:translate(-50%);width:30px;height:24px;background:#e0f7fa;border:2px solid var(--lego-border);border-radius:4px}.part-roof-luxury-l{bottom:133px;left:calc(50% - 55px);width:58px;height:28px;background:var(--lego-red);clip-path:polygon(100% 0,0 100%,100% 100%);border:3px solid var(--lego-border);z-index:5}.part-roof-luxury-r{bottom:133px;left:calc(50% - 3px);width:58px;height:28px;background:var(--lego-red);clip-path:polygon(0 0,0 100%,100% 100%);border:3px solid var(--lego-border);z-index:5}.part-chimney-luxury{bottom:125px;left:calc(50% + 20px);width:18px;height:35px;background:var(--lego-purple);border:2.5px solid var(--lego-border);border-radius:2px;z-index:3}.smoke-animation{position:absolute;top:-24px;left:50%;transform:translate(-50%);font-size:18px;animation:floatSmoke 2s infinite ease-out;opacity:0}@keyframes floatSmoke{0%{transform:translate(-50%) scale(.6);opacity:0}50%{transform:translate(-30%,-15px) scale(1.1);opacity:.8}to{transform:translate(-60%,-30px) scale(.8);opacity:0}}.part-flag-luxury{bottom:161px;left:50%;transform:translate(-50%) scale(0);width:45px;height:22px;z-index:6;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .3s}.part-flag-luxury.built{transform:translate(-50%) scale(1)}.flag-pole{position:absolute;bottom:-15px;left:0;width:4px;height:30px;background:#e0e0e0;border:1.5px solid var(--lego-border)}.flag-cloth{position:absolute;top:0;left:4px;width:38px;height:18px;background:#ff007f;border:2px solid var(--lego-border);border-radius:0 4px 4px 0;color:#fff;font-family:var(--font-playful);font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:1px 1px #00000026;animation:flagWave 2s infinite ease-in-out}@keyframes flagWave{0%{transform:skewY(0)}50%{transform:skewY(5deg)}to{transform:skewY(0)}}.lego-house-progress-text{font-family:var(--font-playful);font-size:14px;font-weight:700;margin-top:10px;color:var(--lego-dark)}.brick-green{border-left:8px solid var(--lego-green)!important}.status-badge{align-self:flex-start;font-family:var(--font-playful);font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;border:1.5px solid var(--lego-border);color:#fff!important;box-shadow:1px 1px 0 var(--lego-border);display:inline-block}.status-badge.lunas{background:var(--lego-green)}.status-badge.dp{background:var(--lego-orange)}.status-badge.belum{background:var(--lego-red)}.status-badge.pic-badge{background:#666}.header-svg-icon{width:24px;height:24px;color:#fff;display:block}.checklist-sub-nav::-webkit-scrollbar{display:none}.sub-nav-btn{background:#fff;color:var(--lego-dark);border:3px solid var(--lego-border);border-radius:12px;padding:6px 12px;font-family:var(--font-playful);font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;box-shadow:2px 2px 0 var(--lego-border);transition:all .2s ease;outline:none}.sub-nav-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--lego-border)}.sub-nav-btn.active{background:var(--lego-green);color:#fff;border-color:var(--lego-border)}.subtab-svg-icon{width:14px;height:14px;stroke-width:2.5px}.sub-nav-btn:not(.active) .subtab-svg-icon{color:#666}.sub-nav-btn.active .subtab-svg-icon{color:#fff}.pic-tag{font-size:9px;font-weight:700;padding:1px 6px;border-radius:6px;border:1.5px solid var(--lego-border);box-shadow:1px 1px 0 var(--lego-border);color:#fff!important;display:inline-block}.pic-tag.Bersama{background:var(--lego-purple)}.pic-tag.Fajar{background:var(--lego-blue)}.pic-tag.Aina{background:var(--lego-red)}.pic-tag.nego{background:#e65100}.pic-tag.selesai{background:var(--lego-green)}.pic-tag.belum{background:var(--lego-red)}.pic-tag.hadir{background:var(--lego-green)}.pic-tag.tidak{background:var(--lego-red)}.timeline-date-tag{font-size:10px;font-weight:700;color:#555;background:#eee;border:1.5px solid var(--lego-border);padding:1px 6px;border-radius:6px;display:inline-block}.custom-select-wrapper{position:relative;width:100%}.custom-select-trigger{width:100%;border:3px solid var(--lego-border);border-radius:12px;font-family:var(--font-playful);font-weight:700;padding:10px 14px;background:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;box-shadow:2px 2px 0 var(--lego-border);outline:none;font-size:14px;box-sizing:border-box;text-align:left}.custom-select-trigger:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--lego-border)}.custom-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:3px solid var(--lego-border);border-radius:12px;box-shadow:3px 3px 0 var(--lego-border);z-index:1000;display:none;max-height:200px;overflow-y:auto;padding:4px;box-sizing:border-box}.custom-options.open{display:block}.custom-option{padding:8px 12px;font-family:var(--font-playful);font-weight:700;cursor:pointer;border-radius:8px;transition:background .1s;font-size:13px;display:flex;align-items:center;gap:4px}.custom-option:hover,.custom-option.selected{background:var(--lego-light)}.nav-scroll-btn{background:#fff;color:var(--lego-dark);border:3px solid var(--lego-border);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:2px 2px 0 var(--lego-border);transition:all .1s;flex-shrink:0;outline:none;padding:0}.nav-scroll-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--lego-border)}header.glass-header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1.5px solid rgba(255,255,255,.8)!important;box-shadow:0 4px 20px #00000014!important;transition:all .3s ease}header.glass-header .studs-row{display:none!important}header.glass-header-journal{background:linear-gradient(135deg,#e0f2fef2,#e6f0fff2)!important}header.glass-header-journal .lego-logo{background:linear-gradient(135deg,#00b4db,#0055a5)!important;border:1.5px solid rgba(255,255,255,.8)!important;box-shadow:0 4px 12px #0055a54d!important;transform:none!important;color:#fff!important;border-radius:12px!important}header.glass-header-journal .brand-title{color:#0a3866!important;text-shadow:none!important;font-family:var(--font-playful)!important}header.glass-header-journal .brand-subtitle{color:#3a6996!important;font-weight:600!important}header.glass-header-journal .add-brick-btn{background:linear-gradient(135deg,#00b4db,#0055a5)!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.5)!important;box-shadow:0 4px 15px #0055a54d!important;border-radius:14px!important;font-family:var(--font-playful)!important;transform:none!important}header.glass-header-journal .user-toggle-bar{background:#fff9!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1.5px solid rgba(255,255,255,.8)!important;border-radius:20px!important;box-shadow:0 4px 15px #0055a514!important;padding:3px!important}header.glass-header-journal .user-toggle-btn{border-radius:16px!important;border:none!important;color:#3a6996!important;font-weight:700!important;background:transparent!important;box-shadow:none!important}header.glass-header-journal .user-toggle-btn.active{background:linear-gradient(135deg,#0055a5,#00b4db)!important;color:#fff!important;box-shadow:0 4px 12px #0055a54d!important}header.glass-header-checklist{background:linear-gradient(135deg,#ecfdf5f2,#e1faebf2)!important}header.glass-header-checklist .lego-logo{background:linear-gradient(135deg,#10b981,#065f46)!important;border:1.5px solid rgba(255,255,255,.8)!important;box-shadow:0 4px 12px #065f464d!important;transform:none!important;color:#fff!important;border-radius:12px!important}header.glass-header-checklist .brand-title{color:#034e36!important;text-shadow:none!important;font-family:var(--font-playful)!important}header.glass-header-checklist .brand-subtitle{color:#2b7a5f!important;font-weight:600!important}header.glass-header-checklist .add-brick-btn{background:linear-gradient(135deg,#10b981,#065f46)!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.5)!important;box-shadow:0 4px 15px #065f464d!important;border-radius:14px!important;font-family:var(--font-playful)!important;transform:none!important}header.glass-header-checklist .user-toggle-bar{background:#fff9!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1.5px solid rgba(255,255,255,.8)!important;border-radius:20px!important;box-shadow:0 4px 15px #065f4614!important;padding:3px!important}header.glass-header-checklist .user-toggle-btn{border-radius:16px!important;border:none!important;color:#2b7a5f!important;font-weight:700!important;background:transparent!important;box-shadow:none!important}header.glass-header-checklist .user-toggle-btn.active{background:linear-gradient(135deg,#065f46,#10b981)!important;color:#fff!important;box-shadow:0 4px 12px #065f464d!important}header.glass-header-lamaran{background:linear-gradient(135deg,#ffebf0f2,#f5ebfff2)!important}header.glass-header-lamaran .lego-logo{background:linear-gradient(135deg,#b83b5e,#6a2c70)!important;border:1.5px solid rgba(255,255,255,.8)!important;box-shadow:0 4px 12px #b83b5e4d!important;transform:none!important;color:#fff!important;border-radius:12px!important}header.glass-header-lamaran .brand-title{color:#4a244e!important;text-shadow:none!important;font-family:var(--font-playful)!important}header.glass-header-lamaran .brand-subtitle{color:#7e5b82!important;font-weight:600!important}header.glass-header-lamaran .add-brick-btn{background:linear-gradient(135deg,#b83b5e,#6a2c70)!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.5)!important;box-shadow:0 4px 15px #b83b5e4d!important;border-radius:14px!important;font-family:var(--font-playful)!important;transform:none!important}header.glass-header-lamaran .user-toggle-bar{background:#fff9!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1.5px solid rgba(255,255,255,.8)!important;border-radius:20px!important;box-shadow:0 4px 15px #966e8714!important;padding:3px!important}header.glass-header-lamaran .user-toggle-btn{border-radius:16px!important;border:none!important;color:#6e5c72!important;font-weight:700!important;background:transparent!important;box-shadow:none!important}header.glass-header-lamaran .user-toggle-btn.active{background:linear-gradient(135deg,#6a2c70,#b83b5e)!important;color:#fff!important;box-shadow:0 4px 12px #b83b5e4d!important}.glass-screen-theme{padding:16px;min-height:calc(100vh - 120px);position:relative;overflow:hidden}.glass-theme-journal{background:linear-gradient(135deg,#e0f2fef2,#eef2fff2,#f0fdfaf2)!important}.glass-theme-checklist{background:linear-gradient(135deg,#ecfdf5f2,#f0fdf4f2,#ecfccbf2)!important}.glass-theme-lamaran{background:linear-gradient(135deg,#ffeef2f2,#f0ebfff2,#fff5e6f2)!important}.glass-screen-theme:before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:radial-gradient(circle,#ffb6c166,#fff0 70%);border-radius:50%;pointer-events:none}.glass-card{background:#ffffffa6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid rgba(255,255,255,.8);border-radius:20px;box-shadow:0 10px 30px #b496aa1f,inset 0 1px #ffffffe6;padding:16px;margin-bottom:16px}.glass-countdown-box{background:linear-gradient(135deg,#ffffffbf,#fff0f599);border:1.5px solid rgba(230,180,200,.5);text-align:center}.glass-card-header{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;color:#6b4e71;font-size:14px}.glass-icon-skeuo{font-size:20px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.15))}.glass-countdown-value{font-family:var(--font-playful);font-size:28px;font-weight:800;color:#b83b5e;margin:10px 0;text-shadow:0 2px 10px rgba(184,59,94,.15)}.glass-date-picker-wrapper{font-size:12px;font-weight:600;color:#7a657d;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.glass-date-input{background:#fffc;border:1px solid rgba(200,180,200,.6);border-radius:10px;padding:4px 10px;font-family:var(--font-body);font-weight:700;font-size:12px;color:#4a3e4d;outline:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.glass-recap-box{padding:16px}.glass-recap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.glass-recap-item{background:#ffffff8c;border:1px solid rgba(255,255,255,.8);border-radius:14px;padding:10px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 1px #fffc}.glass-recap-label{font-size:10px;font-weight:700;color:#7e6b80;text-transform:uppercase;letter-spacing:.5px}.glass-recap-val{font-family:var(--font-playful);font-size:14px;font-weight:700;color:#4a3a50;margin-top:4px}.glass-recap-item.highlight-green .glass-recap-val{color:#2e7d32}.glass-recap-item.highlight-amber .glass-recap-val{color:#e65100}.glass-progress-wrapper{margin-top:8px}.glass-progress-info{display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:#6e5c72;margin-bottom:6px}.glass-progress-track{height:14px;background:#e6dce680;border:1px solid rgba(255,255,255,.7);border-radius:10px;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.glass-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#f08a5d,#b83b5e);border-radius:10px;transition:width .4s ease;box-shadow:0 0 10px #b83b5e4d}.glass-filter-wrapper{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.glass-filter-wrapper::-webkit-scrollbar{display:none}.glass-filter-btn{background:#ffffff80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);border-radius:20px;padding:8px 14px;font-family:var(--font-body);font-weight:700;font-size:12px;color:#6e5c72;white-space:nowrap;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000a}.glass-filter-btn.active,.glass-filter-btn:active{background:linear-gradient(135deg,#6a2c70,#b83b5e);color:#fff;border-color:transparent;box-shadow:0 4px 15px #b83b5e40;transform:translateY(-1px)}.glass-item-card{background:#ffffffbf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.9);border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 6px 20px #a0829614;display:flex;flex-direction:column;gap:8px;position:relative;transition:transform .2s,box-shadow .2s;cursor:pointer}.glass-item-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #a0829626}.glass-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.glass-item-title{font-family:var(--font-playful);font-size:15px;font-weight:700;color:#3d2b42}.glass-badge{font-size:10px;font-weight:800;padding:3px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 6px #0000000f}.glass-badge.status-lunas{background:#d4eddad9;color:#155724;border:1px solid rgba(195,230,203,.9)}.glass-badge.status-dp{background:#fff3cdd9;color:#856404;border:1px solid rgba(25ffe8,186,.9)}.glass-badge.status-belum{background:#f8d7dad9;color:#721c24;border:1px solid rgba(245,198,203,.9)}.glass-item-body{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6e5c72}.glass-item-price{font-family:var(--font-playful);font-weight:700;font-size:14px;color:#b83b5e}.glass-item-footer{font-size:11px;color:#8c7a90;border-top:1px dashed rgba(200,180,200,.4);padding-top:6px;display:flex;justify-content:space-between}.glass-section-header{font-family:var(--font-playful);font-size:16px;font-weight:700;color:#5a2a60;margin:12px 0;display:flex;align-items:center;gap:8px}.glass-timeline-container{display:flex;flex-direction:column;gap:12px}.glass-timeline-card{background:#ffffffb3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.85);border-left:4px solid #B83B5E;border-radius:16px;padding:12px 14px;box-shadow:0 4px 15px #a0829614;cursor:pointer}.glass-timeline-time{font-family:var(--font-playful);font-size:13px;font-weight:800;color:#b83b5e;margin-bottom:4px;display:flex;align-items:center;gap:6px}.glass-timeline-title{font-family:var(--font-body);font-weight:700;font-size:14px;color:#3d2b42}.glass-timeline-pic{font-size:11px;font-weight:600;color:#7e6b80;margin-top:4px}.glass-fab-btn{position:fixed;bottom:84px;right:20px;background:linear-gradient(135deg,#b83b5e,#6a2c70);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:30px;padding:12px 20px;font-family:var(--font-playful);font-weight:700;font-size:14px;box-shadow:0 8px 25px #b83b5e66,inset 0 1px #fff6;cursor:pointer;z-index:150;display:flex;align-items:center;gap:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .2s,box-shadow .2s}.glass-fab-btn:active{transform:scale(.95);box-shadow:0 4px 15px #b83b5e4d}.glass-modal-overlay{background:#28142d73;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glass-modal-content{background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1.5px solid rgba(255,255,255,.95);box-shadow:0 -10px 40px #50285a33;border-radius:24px 24px 0 0}.glass-handle{background:#b496b480}.glass-modal-header{border-bottom:1px solid rgba(230,210,230,.5);padding-bottom:12px}.glass-modal-title{color:#5a2a60;font-family:var(--font-playful)}.glass-close-btn{background:#e6dce680;color:#6a2c70}.glass-label{color:#5a2a60;font-weight:700;font-size:13px}.glass-input{background:#ffffffd9;border:1.5px solid rgba(220,195,215,.8);border-radius:12px;padding:10px 14px;font-family:var(--font-body);font-weight:600;font-size:14px;color:#3d2b42;width:100%;outline:none;transition:border-color .2s,box-shadow .2s}.glass-input:focus{border-color:#b83b5e;box-shadow:0 0 0 3px #b83b5e26}.glass-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236A2C70' viewBox='0 0 24 24'><polyline points='6 9 12 15 18 9'></polyline></svg>");background-repeat:no-repeat;background-position:right 14px center}.glass-modal-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:16px}.glass-btn-cancel{background:#e6dce699;color:#6a2c70;border-radius:14px;border:none;font-weight:700}.glass-btn-save{background:linear-gradient(135deg,#b83b5e,#6a2c70);color:#fff;border-radius:14px;border:none;font-weight:700;box-shadow:0 4px 15px #b83b5e4d}.glass-btn-delete{background:#f8d7dae6;color:#721c24;border-radius:14px;border:none;font-weight:700;grid-column:span 2}
