:root{--color-bg:#0a0a0a;--color-surface:#141414;--color-surface-2:#1e1e1e;--color-border:#2a2a2a;--color-text:#ededed;--color-text-secondary:#888;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#06b6d4;--radius:8px;--radius-lg:12px;--shadow:0 1px 3px #0000004d;--shadow-lg:0 4px 12px #0006;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;line-height:1.6}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.container{max-width:768px;margin:0 auto;padding:0 16px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px}.btn{border-radius:var(--radius);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.btn-outline:hover{background:var(--color-surface-2)}.badge{text-transform:uppercase;letter-spacing:.025em;border-radius:9999px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:var(--color-success);background:#22c55e26}.badge-warning{color:var(--color-warning);background:#f59e0b26}.badge-error{color:var(--color-error);background:#ef444426}.badge-info{color:var(--color-info);background:#06b6d426}@media (max-width:640px){.container{padding:0 12px}}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-content{padding-top:env(safe-area-inset-top);flex:1;padding-bottom:72px}.tab-bar{background:var(--color-surface);border-top:1px solid var(--color-border);padding:6px 0;padding-bottom:max(6px,env(safe-area-inset-bottom));z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item{color:var(--color-text-secondary);-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;text-decoration:none;transition:color .15s;display:flex}.tab-item:hover{color:var(--color-primary);text-decoration:none}.tab-active{color:var(--color-primary)}.tab-icon{justify-content:center;align-items:center;display:flex}.tab-label{font-size:.65rem;font-weight:500}.page-container{max-width:768px;margin:0 auto;padding:16px}.page-title{margin-bottom:16px;font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--color-text-secondary);margin-bottom:16px;font-size:.875rem}.filter-tabs{scrollbar-width:none;gap:8px;margin-bottom:16px;padding-bottom:8px;display:flex;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;border-radius:9999px;flex-shrink:0;padding:6px 14px;font-size:.8rem;font-weight:500;transition:all .15s}.filter-tab:hover{background:var(--color-surface-2)}.filter-tab-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.list-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;color:inherit;align-items:center;gap:12px;margin-bottom:8px;padding:12px;text-decoration:none;transition:background .15s;display:flex}.list-item:hover{background:var(--color-surface-2);text-decoration:none}.list-item-thumb{border-radius:var(--radius);object-fit:cover;background:var(--color-surface-2);flex-shrink:0;width:48px;height:48px}.list-item-content{flex:1;min-width:0}.list-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.list-item-subtitle{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.list-item-meta{text-align:right;flex-shrink:0}.list-item-amount{font-size:.875rem;font-weight:600}.search-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);outline:none;margin-bottom:12px;padding:10px 14px;font-size:.875rem;transition:border-color .15s}.search-input:focus{border-color:var(--color-primary)}.search-input::placeholder{color:var(--color-text-secondary)}.summary-cards{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;display:grid}.summary-cards::-webkit-scrollbar{display:none}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;padding:14px;transition:background .15s}.summary-card:hover{background:var(--color-surface-2)}.summary-card-value{font-size:1.5rem;font-weight:700;line-height:1.2}.summary-card-label{color:var(--color-text-secondary);margin-top:4px;font-size:.75rem}.kanban-section{margin-bottom:20px}.kanban-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.kanban-title{font-size:.9rem;font-weight:600}.kanban-count{color:var(--color-text-secondary);font-size:.75rem}.kanban-link{font-size:.75rem}.detail-section{margin-bottom:20px}.detail-section-title{border-bottom:1px solid var(--color-border);margin-bottom:10px;padding-bottom:8px;font-size:.9rem;font-weight:600}.detail-row{justify-content:space-between;padding:6px 0;font-size:.875rem;display:flex}.detail-row-label{color:var(--color-text-secondary)}.detail-row-value{text-align:right;font-weight:500}.back-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:12px;padding:0;font-size:.875rem;display:inline-flex}.loading-skeleton{background:linear-gradient(90deg,var(--color-surface)25%,var(--color-surface-2)50%,var(--color-surface)75%);border-radius:var(--radius);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state{text-align:center;color:var(--color-text-secondary);padding:40px 20px}.empty-state-icon{margin-bottom:8px;font-size:2rem}.timeline{padding-left:20px;position:relative}.timeline:before{content:"";background:var(--color-border);width:2px;position:absolute;top:4px;bottom:4px;left:6px}.timeline-item{padding-bottom:12px;position:relative}.timeline-item:before{content:"";background:var(--color-primary);border:2px solid var(--color-bg);border-radius:50%;width:8px;height:8px;position:absolute;top:5px;left:-17px}.timeline-status{font-size:.875rem;font-weight:500}.timeline-date{color:var(--color-text-secondary);font-size:.75rem}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-height:85dvh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px;display:flex}.modal-title{font-size:1.1rem;font-weight:700}.modal-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--color-text)}.modal-body{padding:16px}.form-group{margin-bottom:14px}.form-group label{color:var(--color-text-secondary);margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.form-control{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);outline:none;padding:10px 12px;font-size:.875rem;transition:border-color .15s}.form-control:focus{border-color:var(--color-primary)}.form-control::placeholder{color:var(--color-text-secondary)}.checkbox-wrapper{align-items:center;gap:10px;padding:10px 0;display:flex}.checkbox-wrapper input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer}
