*{margin:0;padding:0;box-sizing:border-box}:root{--bg-dark: #0a0e1a;--bg-card: rgba(15, 20, 35, .85);--bg-card-solid: #0f1423;--bg-glass: rgba(20, 28, 50, .6);--border: rgba(100, 140, 255, .15);--border-glow: rgba(100, 180, 255, .3);--text: #e4e8f7;--text-dim: #8892b0;--text-muted: #5a6380;--primary: #00d4ff;--primary-glow: rgba(0, 212, 255, .3);--secondary: #7c3aed;--secondary-glow: rgba(124, 58, 237, .3);--accent: #10b981;--accent-glow: rgba(16, 185, 129, .3);--danger: #f43f5e;--danger-glow: rgba(244, 63, 94, .3);--warning: #f59e0b;--radius: 16px;--radius-sm: 10px;--shadow: 0 4px 24px rgba(0, 0, 0, .4), 0 0 40px rgba(0, 100, 255, .05);--glow: 0 0 20px rgba(0, 212, 255, .15)}body{font-family:SF Pro Display,PingFang SC,Microsoft YaHei,system-ui,sans-serif;background:var(--bg-dark);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.loading-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:var(--text-dim)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(135deg,#0a0e1a,#1a1040,#0a0e1a)}.auth-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,212,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.03) 1px,transparent 1px);background-size:60px 60px}.auth-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4}.auth-glow-1{width:400px;height:400px;background:var(--primary);top:-100px;right:-100px}.auth-glow-2{width:300px;height:300px;background:var(--secondary);bottom:-50px;left:-50px}.auth-card{position:relative;z-index:1;width:100%;max-width:400px;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:24px;padding:40px 32px;box-shadow:var(--shadow)}.auth-header{text-align:center;margin-bottom:28px}.auth-logo{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 0 30px var(--primary-glow)}.auth-header h1{font-size:24px;font-weight:700;background:linear-gradient(135deg,var(--primary),#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.auth-subtitle{color:var(--text-muted);font-size:13px;margin-top:6px}.auth-tabs{display:flex;gap:4px;background:#0000004d;border-radius:12px;padding:4px;margin-bottom:24px}.auth-tab{flex:1;padding:10px;border-radius:10px;font-size:14px;font-weight:600;color:var(--text-muted);transition:all .2s}.auth-tab.active{background:var(--bg-card);color:var(--primary);box-shadow:var(--glow)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-input-group{display:flex;align-items:center;gap:12px;background:#0000004d;border:1px solid var(--border);border-radius:12px;padding:0 16px;transition:all .2s}.auth-input-group:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.auth-input-group svg{color:var(--text-muted);flex-shrink:0}.auth-input-group input{flex:1;background:transparent;border:none;outline:none;color:var(--text);padding:14px 0;font-size:14px}.auth-input-group input::placeholder{color:var(--text-muted)}.auth-error{color:var(--danger);font-size:13px;text-align:center}.auth-submit{padding:14px;border-radius:12px;font-size:15px;font-weight:600;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;transition:all .2s;margin-top:4px}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 8px 24px var(--primary-glow)}.auth-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-footer{text-align:center;margin-top:20px;color:var(--text-muted);font-size:12px}.app{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--bg-card);border-right:1px solid var(--border);padding:24px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;padding:0 12px 24px}.logo-icon{font-size:22px;filter:drop-shadow(0 0 8px var(--primary-glow))}.side-nav{display:flex;flex-direction:column;gap:4px;flex:1}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;font-size:14px;color:var(--text-dim);transition:all .2s}.nav-item:hover{background:#00d4ff0d;color:var(--text)}.nav-item.active{background:linear-gradient(135deg,#00d4ff1a,#7c3aed1a);color:var(--primary);border:1px solid var(--border-glow);box-shadow:inset 0 0 20px #00d4ff0d}.side-footer{font-size:12px;color:var(--text-muted);text-align:center;padding-top:16px;border-top:1px solid var(--border)}.user-badge{display:inline-block;padding:4px 12px;border-radius:99px;background:#00d4ff1a;border:1px solid var(--border-glow);color:var(--primary);font-size:12px}.content{flex:1;display:flex;justify-content:center;padding:32px 24px 80px}.page{width:100%;max-width:900px}.page-title{font-size:26px;font-weight:700;background:linear-gradient(135deg,var(--primary),#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.page-desc{color:var(--text-muted);font-size:13px;margin:6px 0 24px}.section-title{font-size:16px;font-weight:600;margin:28px 0 14px;color:var(--text-dim)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input{flex:1;min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;font-size:14px;font-family:inherit;background:#0000004d;color:var(--text);outline:none;transition:all .2s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.input::placeholder{color:var(--text-muted)}.textarea{width:100%;resize:vertical}.btn{display:inline-flex;align-items:center;gap:7px;padding:11px 18px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:all .2s}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 4px 16px var(--primary-glow)}.btn.primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px var(--primary-glow)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn.danger-btn{background:#f43f5e1a;color:var(--danger);border:1px solid rgba(244,63,94,.2)}.btn.danger-btn:hover{background:#f43f5e33}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;color:var(--text-muted);transition:all .2s}.icon-btn:hover{background:#00d4ff1a;color:var(--primary)}.icon-btn.danger:hover{background:#f43f5e26;color:var(--danger)}.link-btn{color:var(--text-muted);font-size:12px;text-decoration:underline}.link-btn:hover{color:var(--primary)}.empty{text-align:center;color:var(--text-muted);font-size:14px;padding:48px 0}.time,.count{font-size:12px;color:var(--text-muted)}.composer{padding:16px;display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.composer .btn{align-self:flex-end}.form-row{display:flex;gap:10px}.form-row .btn{align-self:stretch}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.search-box{flex:1;max-width:320px;display:flex;align-items:center;gap:10px;background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 14px;color:var(--text-muted)}.search-box .input{border:none;background:transparent;padding:10px 0}.filter-tags{display:flex;flex-wrap:wrap;gap:6px}.tag-filter{padding:5px 12px;border-radius:99px;font-size:12px;background:#0000004d;color:var(--text-muted);border:1px solid var(--border);transition:all .2s}.tag-filter.active{background:#00d4ff26;color:var(--primary);border-color:var(--primary)}.note-grid{columns:2;column-gap:16px}.note-card{break-inside:avoid;margin-bottom:16px;padding:16px;position:relative}.note-card.pinned{border-color:var(--warning);background:#f59e0b0d;box-shadow:0 0 20px #f59e0b1a}.pin-badge{position:absolute;top:12px;right:12px;font-size:11px;color:var(--warning);background:#f59e0b26;padding:3px 10px;border-radius:99px}.note-content{font-size:14px;line-height:1.8;white-space:pre-wrap;word-break:break-word}.note-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.note-foot .actions{display:flex;gap:4px}.tag-selector{display:flex;flex-direction:column;gap:10px}.tag-icon{color:var(--text-muted)}.tag-chips{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{padding:5px 12px;border-radius:99px;font-size:12px;background:#0000004d;color:var(--text-muted);border:1px solid var(--border);transition:all .2s}.tag-chip.active{background:#00d4ff26;color:var(--primary);border-color:var(--primary);box-shadow:0 0 10px var(--primary-glow)}.custom-tag-input{display:flex;gap:8px}.custom-tag-input .input{flex:1;padding:8px 12px;font-size:13px}.custom-tag-input .btn{padding:8px 14px;font-size:12px}.selected-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.selected-label{font-size:12px;color:var(--text-muted)}.tag-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:11px;background:#00d4ff1a;color:var(--primary);border:1px solid rgba(0,212,255,.2);cursor:pointer;transition:all .2s}.tag-badge:hover{background:#00d4ff33}.tag-badge.small{padding:2px 8px;font-size:10px}.note-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.edit-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.stat{padding:16px 18px;display:flex;flex-direction:column;gap:8px}.stat-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.stat-value{font-size:22px;font-weight:700}.stat-value.expense{color:var(--danger);text-shadow:0 0 12px var(--danger-glow)}.stat-value.income{color:var(--accent);text-shadow:0 0 12px var(--accent-glow)}.seg{display:inline-flex;background:#0000004d;border-radius:var(--radius-sm);padding:4px;align-self:flex-start}.seg-btn{padding:8px 24px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-muted);transition:all .2s}.seg-btn.active.expense{background:#f43f5e26;color:var(--danger);box-shadow:0 0 12px var(--danger-glow)}.seg-btn.active.income{background:#10b98126;color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.amount-input{max-width:160px;font-size:16px;font-weight:600}.date-input{max-width:170px}.cat-row{display:flex;flex-wrap:wrap;gap:8px}.cat-chip{padding:7px 16px;border-radius:99px;font-size:13px;background:#0000004d;color:var(--text-muted);border:1px solid var(--border);transition:all .2s}.cat-chip.active{background:#00d4ff26;color:var(--primary);border-color:var(--primary);box-shadow:0 0 12px var(--primary-glow)}.cat-chip.high.active{background:#f43f5e26;color:var(--danger);border-color:var(--danger)}.cat-select{max-width:140px}.image-upload-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.image-upload-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-size:13px;background:#0000004d;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;transition:all .2s}.image-upload-btn:hover{background:#00d4ff1a;color:var(--primary);border-color:var(--primary)}.image-preview{position:relative;width:60px;height:60px;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.image-preview img{width:100%;height:100%;object-fit:cover}.image-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#000000b3;color:#fff;display:flex;align-items:center;justify-content:center}.item-image-link{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--primary);margin-top:4px}.item-image-link:hover{text-decoration:underline}.btn.full{width:100%;justify-content:center}.list{padding:0}.list-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border);transition:background .2s}.list-item:hover{background:#00d4ff08}.list-item:last-child{border-bottom:none}.cat-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.cat-icon.expense{background:#f43f5e26;color:var(--danger)}.cat-icon.income{background:#10b98126;color:var(--accent)}.cat-icon.t-note{background:#00d4ff26;color:var(--primary)}.cat-icon.t-ledger{background:#10b98126;color:var(--accent)}.cat-icon.t-photo{background:#f59e0b26;color:var(--warning)}.cat-icon.t-todo{background:#7c3aed26;color:var(--secondary)}.cat-icon.t-misc{background:#00d4ff1a;color:var(--primary)}.item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.item-title{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amount{font-size:15px;font-weight:700;flex-shrink:0}.amount.expense{color:var(--danger)}.amount.income{color:var(--accent)}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:36px;border:2px dashed var(--border);border-radius:14px;cursor:pointer;color:var(--text-muted);transition:all .2s}.drop-zone:hover{border-color:var(--primary);color:var(--primary);background:#00d4ff08}.watermark-hint{font-size:12px;color:var(--accent);background:#10b9811a;padding:4px 12px;border-radius:99px}.watermark-toggle{margin-bottom:12px}.watermark-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;font-size:14px;font-weight:500;background:#0000004d;color:var(--text-muted);border:1px solid var(--border);transition:all .2s;width:100%;justify-content:space-between}.watermark-btn.active{background:#00d4ff1a;color:var(--primary);border-color:var(--primary)}.toggle-switch{padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600}.toggle-switch.on{background:#10b98133;color:var(--accent)}.toggle-switch.off{background:#0000004d;color:var(--text-muted)}.watermark-settings{display:flex;flex-direction:column;gap:12px;padding:16px;background:#0003;border-radius:12px;margin-bottom:12px;border:1px solid var(--border)}.watermark-option{display:flex;align-items:center;gap:10px}.watermark-option svg{color:var(--text-muted);flex-shrink:0}.watermark-option .input{flex:1;padding:9px 12px;font-size:13px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-dim)}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.watermark-preview{margin-top:12px;border-radius:12px;overflow:hidden;border:1px solid var(--border);max-height:300px}.watermark-preview img{width:100%;display:block}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.photo-card{overflow:hidden}.photo-card img{width:100%;aspect-ratio:1;object-fit:cover;cursor:pointer;display:block;transition:transform .3s}.photo-card img:hover{transform:scale(1.02)}.photo-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;gap:8px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox img{max-width:90vw;max-height:80vh;border-radius:16px;box-shadow:0 0 60px #00000080}.lightbox-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:#ffffff1a;color:#fff;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox-caption{color:var(--text-dim);margin-top:16px;font-size:14px}.progress-wrap{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}.progress-bar{flex:1;height:8px;background:#0000004d;border-radius:99px;overflow:hidden;min-width:120px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:99px;transition:width .3s;box-shadow:0 0 10px var(--primary-glow)}.filter-row{display:flex;gap:8px;margin-bottom:16px}.filter-btn{padding:7px 16px;border-radius:99px;font-size:13px;background:#0000004d;color:var(--text-muted);border:1px solid var(--border);transition:all .2s}.filter-btn.active{background:#00d4ff26;color:var(--primary);border-color:var(--primary)}.todo-item{gap:12px}.checkbox{width:24px;height:24px;border-radius:7px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.checkbox.checked{background:linear-gradient(135deg,var(--primary),var(--secondary));border-color:transparent;color:#fff;box-shadow:0 0 12px var(--primary-glow)}.todo-item.done .item-title{text-decoration:line-through;color:var(--text-muted)}.flag{display:inline-block;font-size:11px;color:var(--danger);background:#f43f5e26;padding:2px 8px;border-radius:5px;margin-right:8px;font-weight:600}.misc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.misc-card{padding:16px;display:flex;flex-direction:column;gap:10px}.misc-header{display:flex;align-items:center;justify-content:space-between}.misc-cat{font-size:11px;color:var(--primary);background:#00d4ff1a;padding:3px 10px;border-radius:6px;font-weight:600}.misc-title{font-size:15px;font-weight:600}.misc-content{font-size:13px;color:var(--text-dim);line-height:1.7;white-space:pre-wrap;word-break:break-word}.greeting{margin-bottom:24px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:24px}.stat-card{padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;transition:all .2s}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--glow);border-color:var(--border-glow)}.stat-card .stat-value{font-size:24px}.quick-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.quick-btn{padding:12px 20px;border-radius:14px;font-size:14px;font-weight:500;background:var(--bg-card);border:1px solid var(--border);transition:all .2s}.quick-btn:hover{background:#00d4ff14;border-color:var(--primary);color:var(--primary);box-shadow:var(--glow)}.feed-item{cursor:pointer}.feed-thumb{width:42px;height:42px;border-radius:10px;object-fit:cover;flex-shrink:0}.chevron{color:var(--text-muted);flex-shrink:0}.done-text{text-decoration:line-through;color:var(--text-muted)}.current-month-card{padding:20px;margin-bottom:20px}.month-header{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--text-dim)}.month-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.month-stat{display:flex;flex-direction:column;gap:6px}.month-stat-label{font-size:12px;color:var(--text-muted)}.month-stat-value{font-size:18px;font-weight:700}.month-stat-value.expense{color:var(--danger)}.month-stat-value.income{color:var(--accent)}.monthly-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.month-card{overflow:hidden}.month-card-header{display:flex;align-items:center;padding:16px;cursor:pointer;transition:background .2s}.month-card-header:hover{background:#00d4ff08}.month-info{flex:1}.month-title{font-size:15px;font-weight:600;margin-bottom:8px}.month-badges{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:11px;color:var(--text-muted);background:#0000004d;padding:3px 10px;border-radius:99px}.month-financial{display:flex;flex-direction:column;gap:6px;margin-right:12px}.fin-row{display:flex;align-items:center;gap:6px;font-size:13px}.fin-label{color:var(--text-muted);min-width:36px}.fin-value{font-weight:600}.fin-value.expense{color:var(--danger)}.fin-value.income{color:var(--accent)}.fin-value.balance{color:var(--primary)}.balance-row{margin-top:4px;padding-top:6px;border-top:1px solid var(--border)}.expand-icon{color:var(--text-muted);transition:transform .2s}.expand-icon.expanded{transform:rotate(90deg)}.month-detail{padding:0 16px 16px;border-top:1px solid var(--border)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:14px}.detail-item{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#0003;border-radius:10px;font-size:13px;transition:all .2s}.detail-item:hover{background:#00d4ff1a;color:var(--primary)}.export-card{padding:36px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:20px}.export-icon{color:var(--primary);filter:drop-shadow(0 0 12px var(--primary-glow))}.export-desc{color:var(--text-dim);font-size:13px;max-width:420px;line-height:1.8}.export-btn{margin-top:10px;padding:14px 36px;font-size:15px}.export-tips{padding:22px}.export-tips h4{margin-bottom:12px}.export-tips ul{padding-left:20px;display:flex;flex-direction:column;gap:8px}.export-tips li{font-size:13px;color:var(--text-dim);line-height:1.7}.export-tips code{background:#0000004d;padding:2px 8px;border-radius:5px;font-size:12px}.settings-section{padding:20px;margin-bottom:20px}.settings-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.settings-header h3{font-size:16px;font-weight:600}.settings-desc{color:var(--text-muted);font-size:13px;margin-bottom:16px}.settings-info{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.info-label{color:var(--text-muted);font-size:13px}.info-value{font-size:14px;font-weight:500}.share-form{margin-bottom:20px}.share-error{color:var(--danger);font-size:13px;margin-top:8px}.share-success{color:var(--accent);font-size:13px;margin-top:8px}.share-list-section{margin-top:20px}.share-list-section h4{font-size:14px;color:var(--text-dim);margin-bottom:12px}.share-list{display:flex;flex-direction:column;gap:8px}.share-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#0003;border-radius:10px}.share-info{display:flex;align-items:center;gap:10px}.share-name{font-size:14px;font-weight:500}.share-type{font-size:11px;color:var(--primary);background:#00d4ff1a;padding:2px 8px;border-radius:4px}.empty-sm{color:var(--text-muted);font-size:13px;padding:16px 0}.admin-message{padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:16px;animation:slideIn .3s ease}.admin-message.success{background:#10b9811a;color:var(--accent);border:1px solid rgba(16,185,129,.2)}.admin-message.error{background:#f43f5e1a;color:var(--danger);border:1px solid rgba(244,63,94,.2)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-dashboard{margin-bottom:24px}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.admin-stat-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;text-align:center}.admin-stat-card svg{color:var(--primary)}.stat-icon-text{font-size:24px}.admin-stat-value{font-size:22px;font-weight:700;color:var(--text)}.admin-stat-label{font-size:12px;color:var(--text-muted)}.admin-stat-sub{font-size:11px;color:var(--accent)}.admin-user-list{padding:0;overflow:hidden}.admin-user-table{display:flex;flex-direction:column}.admin-table-header{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.5fr 1fr .8fr;padding:12px 16px;background:#0000004d;font-size:12px;color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border)}.admin-table-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.5fr 1fr .8fr;padding:12px 16px;border-bottom:1px solid var(--border);align-items:center;font-size:13px;transition:background .2s}.admin-table-row:hover{background:#00d4ff08}.admin-table-row:last-child{border-bottom:none}.user-username{font-weight:600;color:var(--primary)}.user-data-count{font-size:11px;color:var(--text-muted)}.role-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.role-badge.admin{background:#f59e0b26;color:var(--warning);border:1px solid rgba(245,158,11,.3)}.role-badge.user{background:#00d4ff1a;color:var(--primary);border:1px solid rgba(0,212,255,.2)}.role-badge:hover{transform:scale(1.05)}.admin-actions{display:flex;gap:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:20px;padding:28px;max-width:400px;width:100%;box-shadow:0 20px 60px #00000080}.modal-content h3{font-size:18px;font-weight:700;margin-bottom:8px}.modal-content p{color:var(--text-dim);font-size:14px;margin-bottom:16px}.modal-content .input{margin-bottom:16px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-header h3{display:flex;align-items:center;gap:8px;margin-bottom:0}.pwd-trigger{cursor:pointer;transition:color .2s}.pwd-trigger:hover{color:var(--primary)}.weather-card{background:linear-gradient(135deg,#1e3c7899,#14285066);border:1px solid rgba(100,180,255,.2);border-radius:var(--radius);padding:20px;margin-bottom:20px}.weather-main{display:flex;justify-content:space-between;align-items:center}.weather-left{display:flex;flex-direction:column;gap:4px}.weather-city{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--text-dim)}.weather-temp{font-size:48px;font-weight:700;line-height:1;background:linear-gradient(135deg,#fff,var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.weather-desc{font-size:14px;color:var(--text-dim)}.weather-right{font-size:48px;line-height:1}.weather-icon{font-size:48px}.weather-details{display:flex;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.weather-detail{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-dim)}.weather-forecast{display:flex;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.forecast-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border-radius:var(--radius-sm);background:#ffffff0a}.forecast-date{font-size:12px;color:var(--text-dim)}.forecast-icon{font-size:20px}.forecast-temps{display:flex;gap:6px;font-size:12px}.forecast-high{color:var(--text);font-weight:600}.forecast-low{color:var(--text-muted)}.location-input-wrap{display:flex;gap:8px;flex:1;align-items:center}.location-input-wrap .input{flex:1}.locate-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;flex-shrink:0;background:#00d4ff1a;border:1px solid rgba(0,212,255,.25);color:var(--primary);transition:all .2s}.locate-btn:hover{background:#00d4ff33}.locate-btn.loading{opacity:.6;cursor:wait}.locate-btn .spin{animation:spin 1s linear infinite}.bottom-nav{display:none}@media (max-width: 768px){.sidebar{display:none}.content{padding:18px 14px 80px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg-card-solid);border-top:1px solid var(--border);padding:8px 0;z-index:100;justify-content:space-around;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tab-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 6px;font-size:10px;color:var(--text-muted)}.tab-item.active{color:var(--primary)}.note-grid{columns:1}.stat-row{grid-template-columns:1fr}.stat-grid,.photo-grid{grid-template-columns:repeat(2,1fr)}.misc-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.amount-input,.date-input,.cat-select{max-width:100%}.page-title{font-size:22px}.auth-card{padding:28px 20px}.month-stats{grid-template-columns:repeat(2,1fr)}.month-card-header{flex-direction:column;align-items:flex-start;gap:12px}.month-financial{flex-direction:row;flex-wrap:wrap;margin-right:0}.expand-icon{position:absolute;right:16px;top:16px}.detail-grid{grid-template-columns:repeat(2,1fr)}.toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:100%}.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-table-header{display:none}.admin-table-row{grid-template-columns:1fr 1fr;gap:8px;padding:14px 16px}.admin-table-row .user-data-count,.admin-table-row .time{display:none}.weather-temp,.weather-icon{font-size:36px}.weather-forecast{gap:8px}.forecast-item{padding:6px 4px}}
