:root{--primary:#22c55e;--primary-hover:#16a34a;--accent:#16a34a;--background:#fff;--surface:#f9fafb;--text:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--shadow:#0000001a;--danger:#ef4444;--danger-hover:#dc2626}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}.app{flex-direction:column;max-width:768px;min-height:100vh;margin:0 auto;padding-bottom:80px;display:flex}.screen{flex:1;padding:1.5rem}.screen-header{margin-bottom:1.5rem}.screen-header h1{color:var(--text);font-size:2rem;font-weight:700}.tab-bar{background:var(--background);border-top:1px solid var(--border);max-width:768px;box-shadow:0 -2px 8px var(--shadow);margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.25rem;padding:.75rem;transition:all .2s;display:flex}.tab:hover{background:var(--surface);color:var(--primary)}.tab.active{color:var(--primary)}.tab-icon{font-size:1.5rem}.tab-label{font-size:.75rem;font-weight:500}.btn{cursor:pointer;text-align:center;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-icon{cursor:pointer;opacity:.7;background:0 0;border:none;padding:.25rem;font-size:1.25rem;transition:opacity .2s}.btn-icon:hover{opacity:1}.empty-state{text-align:center;padding:4rem 2rem}.empty-state p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.125rem}.filter-bar{background:var(--surface);border-radius:.5rem;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.filter-bar label{color:var(--text);font-weight:600}.select{border:1px solid var(--border);background:var(--background);color:var(--text);cursor:pointer;border-radius:.375rem;min-width:150px;padding:.5rem .75rem;font-size:1rem}.select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #22c55e1a}.input{border:1px solid var(--border);width:100%;color:var(--text);border-radius:.5rem;padding:.75rem;font-size:1rem;transition:border-color .2s}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #22c55e1a}.input::placeholder{color:var(--text-secondary)}.item-list{list-style:none}.item{background:var(--background);border:1px solid var(--border);border-radius:.5rem;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:1rem;transition:all .2s;display:flex}.item:hover{box-shadow:0 2px 8px var(--shadow)}.item.checked{opacity:.6}.item.checked .item-name{color:var(--text-secondary);text-decoration:line-through}.item-checkbox{flex:1;align-items:center;gap:.75rem;display:flex}.item-checkbox input[type=checkbox]{cursor:pointer;width:1.5rem;height:1.5rem;accent-color:var(--primary)}.item-checkbox label{cursor:pointer;flex-direction:column;flex:1;gap:.25rem;display:flex}.item-name{color:var(--text);font-size:1.125rem;font-weight:600}.item-meta{color:var(--text-secondary);font-size:.875rem}.item-actions{align-items:center;gap:.5rem;display:flex}.item-form{max-width:500px}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text);margin-bottom:.5rem;font-weight:600;display:block}.form-actions{gap:1rem;margin-top:2rem;display:flex}.form-actions .btn{flex:1}@media (width>=768px){.screen{padding:2rem}.screen-header h1{font-size:2.5rem}.tab-bar{border-top-left-radius:1rem;border-top-right-radius:1rem}.item{padding:1.25rem}.item-name{font-size:1.25rem}}@media (width<=480px){.screen-header h1{font-size:1.75rem}.filter-bar{flex-direction:column;align-items:stretch}.select{width:100%}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}
